背景
一套老代码,页面使用taglib生成的,里面生成绑定是某些操作事件,并且是整个系统都按同一种方式处理。现在改造该系统,需要取消原来的操作换上新的事件。
实现
直接在本地写新的JS函数,并且使用
$("#button").unbind("click");
$("#button").bind("click",function(){});
绑定新的js函数,并且解绑原来的JS事件处理函数。
测试发现原有函数依旧会被执行。查找后发现原来函数是直接在DOM上写的 onclick="test()"方式实现,仅通过unbind是不能解绑这种类型的事件,需要移除onclick属性实现。增加以下代码,测试原有函数已经不会再被执行。
$("#button").removeAttr('onclick');

本文介绍了解决DOM元素上直接绑定事件的问题,通过移除onclick属性而非仅使用unbind方法来完全解除事件绑定。
137

被折叠的 条评论
为什么被折叠?



