我希望有一个事件处理程序,仅执行一次,然后从其绑定到的所有元素中解除绑定。
我知道有.one()
,但使用它时,“处理程序最多在每个元素上执行一次”。
是否有一种“内置”的方法可以将事件处理程序绑定到多个元素,并在任何一个元素上执行后自动从所有元素中删除?
我希望有一个事件处理程序,仅执行一次,然后从其绑定到的所有元素中解除绑定。
我知道有.one()
,但使用它时,“处理程序最多在每个元素上执行一次”。
是否有一种“内置”的方法可以将事件处理程序绑定到多个元素,并在任何一个元素上执行后自动从所有元素中删除?
miguel camba已经告诉您要查看wiki以了解unbind。正确的解决方案如下:
var handler = function() {
alert('I appear only one time');
$('p').unbind('click', handler);
}
$('p').bind('click', handler);
$('p').bind('click.myClickEvent', function() {
alert('I appear only one time');
$('p').unbind('click.myClickEvent');
});