jquery解绑移除click事件的方法
夏蝉 JS/JQ 47阅读
最近在写单页面的前端框架,发现ajax加载同一个页面二次以上后其页面元素绑定的 click 事件会被同时多次调用,通俗来说就是 ajax 加载的页面其元素绑定的事件会被缓存到浏览器中,无论再次ajax加载其页面还是切换到别的页面,浏览器中的JS事件是不会清除的,所以我们就需要通过jq代码手动来清除这事JQ绑定的事件。
jq 清除以及解绑元素的click事件的方法
1、简单的移除JQ click 事件的方法
(1)、简单绑定 click 事件
//绑定方法一
$('#but').click(function () {
alert('我只是一个事件');
});
//绑定方法二
$('#but').on('click', function () {
alert('我只是一个事件');
});(2)、移动或解除click事件的方法
//方法一
$("#btn").unbind("click");
//方法二
$("#btn").off("click");2、解除JQ动态绑定的事件
(1)、动态绑定事件
//动态绑定事件
$('body').on('click','#but',function () {
alert('我只是一个事件');
});(2)、移除JQ动态绑定事件
$("body").off("click",'#but');注意:jq解绑动态事时,其解绑的元素需要与事件绑定的目标元素一致,否则代码不会生效的!
