请看下面的更新
这是我的代码:
$(document).on('click', '#btnClose, .ui-dialog-titlebar-close', function () {
alert('test');
});
当我单击时它会触发#btnClose
,但不会触发右上角的jQuery UI关闭按钮。
我也尝试翻转它,我得到了相同的结果。
$(document).on('click', '.ui-dialog-titlebar-close, #btnClose', function () {});
这是 jQuery UI 关闭按钮的 HTML:
<button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-dialog-titlebar-close" role="button" aria-disabled="false" title="close">
<span class="ui-button-icon-primary ui-icon ui-icon-close"></span>
<span class="ui-button-text">close</span>
</button>
更新按钮位于 iframe 中。这一定是问题所在。有什么创意吗?
这是我目前拥有的:
function closeDialog() {
alert('Closing');
//this works fine
}
$(document).on('click', '#btnClose', function () {
closeDialog()
//this never fires
});
window.parent.$(document).on('click', '.ui-dialog-titlebar-close', function () {
closeDialog();
});
第二个仍然不工作。请记住,脚本是 iFrame 的一部分,因此它需要从父级访问选择器。奇怪的是我正在使用 window.parent.$() 来做其他事情而没有问题。