我需要在绑定到挖空视图模型的对话框中隐藏jquery对话框关闭按钮(右上角的“X”)。
这里是具有敲除绑定的div
<div id="runDialog" data-bind="dialog: { autoOpen: autoOpenDialog, modal: isDialogModal, title: dialogTitle }, openDialog: dialogItem">
</div
这是利用 Knockout.Bindings.js
在过去,我已经能够通过使用open事件来控制它并以这种方式隐藏它
open: function (event, ui) {
$(".ui-dialog-titlebar-close", ui.dialog).hide();
},
我可以将它添加到淘汰对话框绑定中,但这是非常丑陋的,任何人都有更好的方法在这里做到这一点? 谢谢!
答案 0 :(得分:1)
你能用css吗?
.ui-dialog-titlebar-close {display: none;}
答案 1 :(得分:1)
您应该使用下一个构造,在章节中jQuery Dialog API page上描述
隐藏关闭按钮
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>
答案 2 :(得分:0)
您可以在绑定处理程序(伪代码)
中执行此操作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();
}
}
}
};