我已经绑定了几个这样的事件:
$('#window-overlay').on('click', overlayClickHandler);
$clickedObj.on('click', overlayClickHandler);
有没有一些简单的方法,如果我点击这些东西之一,点击事件会从另一个东西中删除?删除它#window-overlay
很简单,但是 $clickedObj 是if
块中的一个变量,所以以后可能很难弄清楚处理程序绑定到哪个对象。
我已经绑定了几个这样的事件:
$('#window-overlay').on('click', overlayClickHandler);
$clickedObj.on('click', overlayClickHandler);
有没有一些简单的方法,如果我点击这些东西之一,点击事件会从另一个东西中删除?删除它#window-overlay
很简单,但是 $clickedObj 是if
块中的一个变量,所以以后可能很难弄清楚处理程序绑定到哪个对象。
维护一个要取消绑定事件的 jquery 对象数组,根据您的情况,您可以遍历数组并取消绑定必要的对象...您可以使用简洁的 json 结构作为数组值来帮助您区分不同的绑定事件..类似
{
eventType: "click",
category: "myCategory1",
object: jqueryObject //or store the selector if you want to keep a low memory footprint..
}
类别基本上用于对相关事件进行分组,以便您仅取消绑定必要的事件。
我不确定是否有更简单的选择,但这是一种方法,至少它比找到所有带有事件绑定的控件要好