在绑定到敲除视图模型的Jquery对话框上隐藏关闭按钮



我需要在绑定到淘汰视图模型的对话框上隐藏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(); 
         }
      }
   }
};

相关内容

  • 没有找到相关文章

最新更新