0
点赞
收藏
分享

微信扫一扫

JQuery替换元素上已经绑定的事件,卸载事件


[color=red][b]对于live绑定的[/b][/color],使用jQuery 事件 - die() 方法
[color=red][b]对于click或者bind绑定的[/b][/color],使用下面方法

工作中配到了这个问题,记录一下,避免遗忘。
HTML如下:

<a id="linkBtn1" οnclick="hideMenu()" href="http://www.baidu.com">Click Here</a>


如果我们想要替换onclick事件,或者想去掉这个onclick事件,怎么办?
我首先想到了JQuery的unbind事件,最后失败,然后又想到removeAttr事件,也失败,后来发现了这篇文章,使用了以下方法:

$("#linkBtn1").unbind('click').removeAttr('onclick').click(function() {});


这样,就把这个onclick事件去掉了。



[url]http://www.jb51.net/article/22449.htm[/url]


用的就是unbind,然后再removeAttr,最后再加上你的方法。来看下它们API document:


[b]unbind[/b]([type], [fn])


概述


bind()的反向操作,从每一个匹配的元素中删除绑定的事件。


如果没有参数,则删除所有绑定的事件。


你可以将你用bind()注册的自定义事件取消绑定。


如果提供了事件类型作为参数,则只删除该类型的绑定事件。


如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除。


参数


type (可选)String


事件类型


fn (可选)Function


要从每个匹配元素的事件中反绑定的事件处理函数


[b]removeAttr[/b](name)


概述


从每一个匹配的元素中删除一个属性


参数


nameString


要删除的属性名


举报

相关推荐

0 条评论