JQuery 里面的 click 事件会累加

来源:互联网 发布:mac软件安装目录在哪 编辑:程序博客网 时间:2024/06/13 02:29
最近用 JQuery 做个信息系统,里面有个删除功能,我用了 BlockUI 来做删除确认。点 Yes 之后就真正的删除。原来是这么写的:

$('#yes').click(function() {
        $.unblockUI();
        del(link, id);

    }
); 


如果页面不刷新,一直使用 .click 绑定到同一个对象,那么这些 click 事件就会累加。所以上面那个代码执行后,不断的点“删除”功能,就会不断的把 click 绑定到 yes 按钮上。第三次点时,相当于这一次将会执行三次del();,这就不是我想要的了。

所以绑定前先把原来的 click 解绑,再绑定新动作。

$('#yes').unbind('click');
$('#yes').click(function() {
        $.unblockUI();
        del(link, id);

    }
); 

或者在click里面定义,执行完之后解绑。

$('#yes').click(function() {
        $.unblockUI();
        del(link, id);
        $(
'#yes').unbind('click');
    }
);
原创粉丝点击