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+++"");
});