解除事件绑定
给一个元素绑定事件后,再解除绑定,是一个比较常见的操作。
对于有名字的函数,这个操作在jQuery里很简单:
function doAlert(){ alert("fire!"); } var doc = $(document); doc.on("click",doAlert); doc.off("click",doAlert);
点击查看Demo。
但是,对于匿名函数,怎么解绑呢?
jQuery中的事件命名空间
在jQuery1.4.3
中就给事件添加了命名空间http://api.jquery.com/event.namespace/,例如:
var doc = $(document); doc.on("click.doAlert",function(){ alert("fire!"); }); doc.off("click.doAlert"); //通过命名空间解绑匿名函数
上面的代码中,给document
添加了click
事件,并且给click
加了一个命名空间,同时绑定的函数又是一个匿名函数,这个时候,就可以使用这个doAlert
对把这个匿名函数解绑,在线Demo。