我需要在绑定到淘汰视图模型的对话框上隐藏jquery对话框关闭按钮(右上角的"X")。
这是带有敲除绑定的div
<div id="runDialog" data-bind="dialog: { autoOpen: autoOpenDialog, modal: isDialogModal, title: dialogTitle }, openDialog: dialogItem">
</div
这是利用Knockout.Bindings.js
在过去,我可以通过使用打开事件来控制它,并以这种方式隐藏
open: function (event, ui) {
$(".ui-dialog-titlebar-close", ui.dialog).hide();
},
我可以把它添加到淘汰对话框绑定中,但这太难看了。有人能在这里找到更好的方法吗?谢谢
您应该使用下一个构造,在jQuery对话框API页的
部分中描述隐藏关闭按钮
1) 添加css规则
.no-close .ui-dialog-titlebar-close {
display: none;
}
2) 在敲除结合中使用dialogClass: 'no-close'
<div id="runDialog" data-bind="dialog: { autoOpen: autoOpenDialog, modal: isDialogModal, title: dialogTitle, dialogClass : 'no-close' }, openDialog: dialogItem">
</div>
JSFiddle演示
你能用css做吗?
.ui-dialog-titlebar-close {display: none;}
您可以在绑定处理程序(伪代码)中执行此操作
ko.bindingHandlers = {
init: function(element, valueAccessor) {
$element = $(element);
var config = ko.unwrap(valueAccessor());
if(!config.showCloseButton) {
config.open: function (event, ui) {
$($element, ui.dialog).hide();
}
}
}
};