使用淘汰赛自动显示 twitter bootstrap 模态对话框 [英] Show twitter bootstrap modal dialog automatically with knockout
问题描述
当我从列表中选择一个项目时,我需要在单页应用程序中显示用于编辑项目的模式对话框.
问题:我使用了 visible
绑定,但结果证明它很麻烦,而且不能正常工作,因为它只显示对话框,没有覆盖,并且淡入淡出(如果有)不起作用.
HTML:
<div class="modal-body"><form data-bind="submit:deselectItem"><!-- 此处项目的编辑器--></表单>
<div class="modal-footer"><a href="#" class="btn" data-bind="click:deselectItem">关闭</a>
此模型是具有 observableList、obervable selectedItem 和将 selectedItem 设置为 null 的 deselectItem 函数的简单对象.
据我所知,(可能)最好的方法是创建一个 ko 绑定处理程序,我称之为 showModal
:
ko.bindingHandlers.showModal = {初始化:函数(元素,valueAccessor){},更新:函数(元素,valueAccessor){var value = valueAccessor();如果(ko.utils.unwrapObservable(值)){$(element).modal('show');//这是在对话框内聚焦输入字段$("输入", 元素).focus();}别的 {$(元素).modal('隐藏');}}};
用法是这样的:
<div class="modal-body"><form data-bind="submit:deselectItem"><!-- 此处项目的编辑器--></表单>