這篇文章主要介紹了jQuery防止重復(fù)綁定事件的解決方法,結(jié)合實(shí)例形式分析了jQuery的重復(fù)綁定問(wèn)題與相應(yīng)的解決方法,需要的朋友可以參考下
本文實(shí)例分析了jQuery防止重復(fù)綁定事件的解決方法。分享給大家供大家參考,具體如下:
一、問(wèn)題:
今天發(fā)現(xiàn)jQuery一個(gè)對(duì)象的事件可以重復(fù)綁定多次,當(dāng)事件觸發(fā)的時(shí)候會(huì)引起代碼多遍執(zhí)行。
下面是一個(gè)click事件被重復(fù)綁定的示例:
function reg_button_click(){
$("#button).click(function(){
alert("button click");
});
}
$(document).ready(function(){
#重復(fù)注冊(cè)3次
reg_button_click();
reg_button_click();
reg_button_click();
#觸發(fā)的時(shí)候 出現(xiàn)3個(gè)alert
$('#button').click();
});
二、解決方法:
對(duì)于需要重復(fù)綁定的場(chǎng)景,再事件注冊(cè)時(shí)候考慮用先unbind 再bind的方法;或者先off 再on
function reg_button_click(){
$("#button).unbind('click').bind('click',(function(){
alert("button click");
});
}
$(document).ready(function(){
#重復(fù)注冊(cè)3次
reg_button_click();
reg_button_click();
reg_button_click();
#觸發(fā)的時(shí)候 出現(xiàn)3個(gè)alert
$('#button').click();
});
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。