close
今天遇到這個問題,在某個function中增加某個元件的click事件,但發現此function呼叫一次就會多綁一次。
找到unbind()這個jQuery function,可以清除現有的綁定事件
unbind()可清除所有綁定事件,unbind("click")可清除click事件。
2018-01-12更新:
unbind在1.7之後改為使用off
Old Way (pre-1.7):
$('...').attr('onclick','').unbind('click');
New Way (1.7+):
$('...').prop('onclick',null).off('click');
--
參考自
http://blog.csdn.net/love__coder/article/details/6657408
--
最近在用jQuery对一个页面超链接元素进行click事件绑定,绑定调用方法如下:
- function OpenUrl(url){
- $("a[rel='xggl']").click(function () {
- window.open(url,"_blank");
- }
- }
第一次点击超链接,一切正常,第二次点击超链接,竟然打开两个窗口,再次打开,打开的窗口越来越多,怎么回事呢?
显然,click事件是append 的 而不是replace。抓紧翻阅jquery的api【http://visualjquery.com/】,很幸运找到了一个函数unbind,代码修改如下:
- function OpenUrl(url){
- <span style="color:#FF6666;"> $("a[rel='xggl']").unbind('click');</span>
- $("a[rel='xggl']").click(function () {
- window.open(url,"_blank");
- }
- }
再次运行程序,一切ok!!!!
--
全站熱搜