jquery事件重複綁定解決辦法

javascript的事件,跟C#的事件如出一轍,事件的綁定是疊加(+=)而不是覆蓋。

varEat=function(){

alert("我要吃飯");}

varPayMoney=function(){

alert("先付錢");}

jQuery(document).ready(function(){

$("#testButton").click(Eat);

$("#testButton").bind("click",PayMoney);});

通過上面的例子,我們發現會先彈出:“我要吃飯”緊接着會彈出“先付錢”,說明它的綁定是通過onclick+=fn進行的。

要想多次綁定事件需要把之前的綁定統統解除。

一$.fn.live重複綁定

解決:使用die()方法,在live()方法綁定前,將此元素上的前面被綁定的事件統統解除,然後再通過live()方法綁定新的事件。

//先通過die()方法解除,再通過live()綁定
$(“#selectAll”).die().live(“click”,function(){
//事件運行代碼
});
 

二click等事件

解決:使用unbind("click")方法先解除綁定的事件再綁定新事件,即在給對象綁定事件之前先移除該對象上的原有事件

$("#test2").unbind('click').click(function(){
alert(
"click解除綁定執行"+k+++"");
});

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章