使用jQuery 1.4.3
我有一些显示在模态窗口中的内容。当模态打开时,我使用.live()将处理程序附加到多个元素。当模态关闭时,我使用.die()来分离它们。但是,.die()似乎没有工作,因为当我重新打开模态时,所有使用.live()附加的处理程序都会触发两次。如果我再次关闭并重新打开模态,则所有处理程序都会触发三次,依此类推。为什么.die()不分离点击事件?代码如下:
$('.app-action-edit').live('click', function(){
[some code]
});
$('.app-action-cancel').live('click', function(){
[some code]
});
$('.app-action-save').live('click', function(){
[some code]
});
$('.close-modal').click(function(){
$('.app-action-edit').die('click');
$('.app-action-cancel').die('click');
$('.app-action-save').die('click');
closeModal();
});
答案 0 :(得分:1)
这有用吗?
function f1 {
[some code]
}
function f2 {
[some code]
}
function f3 {
[some code]
}
$('.app-action-edit').live('click',f1);
$('.app-action-cancel').live('click',f2);
$('.app-action-save').live('click', f3);
$('.close-modal').click(function(){
$('.app-action-edit').die('click',f1);
$('.app-action-cancel').die('click',f2);
$('.app-action-save').die('click',f3);
closeModal();
});