js如何取消事件?

事件处理程序分为DOM0级和DOM2级,如果是用onclick方式绑定的事件可以用如下方法取消:

btn.onclick=null;//删除事件处理程序

如果使用addEventListener()方法添加事件,可以通过removeEventListener()移出事件,需要注意两点:
1.removeEventListener()的第三个参数必须和addEventListener()方法的第三个参数一致。
2.通过addEventListener()方法添加的匿名函数将无法移除。

btn.aaddEventListener('click',function(){alert(1);},false);
btn.removeEventListener('click',function(){alert(1);},false);//没有用!

aaddEventListener和removeEventListener看似传入了相同的参数,但实际上removeEventListener的第二个参数与aaddEventListener的第二个参数是完全不同的函数!
想要移出必须这样

var fn=function(){
	alert(1);
};
btn.aaddEventListener('click',fn,false);
btn.removeEventListener('click',fn,false);//有效
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值