我对jQuery UI Dialog有一个相当混乱的问题。问题是jQuery对话框的默认关闭按钮不能正常工作!但是当我点击按钮的侧面区域时,它会被关闭。下面是用于初始化对话框的代码。
$("#divGuestDetails").dialog('open');
没有别的。我尝试在init进程之后将click事件绑定到对话框。代码如下。
$('#divGuestDetails').find('.ui-dialog-titlebar-close').bind('click',function(){
$('#divGuestDetails').dialog('close');
})
jquery core和ui的版本如下。
Jquery核心:1.3.2 Jquery ui:1.7.2
如果这是一个已知问题,请指导我如何解决它。
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" unselectable="on" style="-moz-user-select: none;">
<span class="ui-dialog-title" id="ui-dialog-title-divGuestDetails" unselectable="on" style="-moz-user-select: none;">Guest Details</span>
<a href="#" class="ui-dialog-titlebar-close ui-corner-all" role="button" unselectable="on" style="-moz-user-select: none;"><span class="ui-icon ui-icon-closethick" unselectable="on" style="-moz-user-select: none;">close</span></a>
</div>
上面是运行时html元素,因为我检查ui-dialog-titlebar-close
绑定了默认的关闭调用。但是,当我检查click事件时,它实际上是从<a>
标记内的范围触发的。我该怎么做才能解决这个问题。
答案 0 :(得分:0)
var guestDetails = $("#divGuestDetails").dialog('open');
guestDetails.dialog('close'); // use this anywher to close it
$('#divGuestDetails').find('.ui-dialog-titlebar-close').bind('click',function(){
guestDetails.dialog('close');
})