当我关闭 jQuery UI 对话框时,我尝试执行特定操作。这是我的代码的简化版本:
$('a.open-trigger').click(function(){
var test = 'hello';
$('#dialog').dialog({
bgiframe: true,
dialogClass: 'change',
resizable: false,
draggable: false,
modal: true,
height: 334,
width: 450,
autoOpen: false,
show: 'fade'
});
$('#dialog').dialog('open');
$('a.close-trigger').click(function(){
alert(test);
$('#dialog').dialog('close');
});
});
第一次关闭对话框时,我收到了带有“hello”一词的预期警报。如果我第二次打开该对话框并关闭它,我会收到两次“hello”警报。如果我第三次打开和关闭它,我会收到三个警报,依此类推。
为什么这些警报会重复出现?我希望警报仅在关闭时显示一次,无论我打开/关闭对话框多少次。
谢谢!
西蒙
每次调用时都会附加额外的事件处理程序.click
。这就是它重复的原因。
$('a.close-trigger').click(function(){
alert(test);
$('#dialog').dialog('close');
});
将该代码拉出到与其他事件绑定相同的级别,它应该按预期工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)