假设您有一个插件将滚动事件附加到窗口并将滚动位置与元素(此)偏移量进行比较。当然,如果不需要,您可能需要一种解除该事件的方法。
我想做类似的事情:
unbind("scroll.uniqueNamespace")
但是,如果你在多个元素上使用插件,它将使用“scroll.uniqueNamespace”取消绑定所有滚动事件,当我需要它只删除一个元素时。
我正在考虑存储元素的数组/对象,并且每个元素都唯一地命名,但这看起来很混乱。
答案 0 :(得分:1)
要取消绑定特定侦听器,jQuery接受.unbind
.unbind( eventType [, handler(eventObject) ] )
因此,您可以将侦听器函数存储在元素数组中,解除绑定后,将该侦听器传递给unbind方法。类似的东西:
unbind("scroll.uniqueNamespace", els[el].listener)
另外,重复我对你的问题的评论,但你也可以只添加一个监听器,只检查该监听器内的活动元素。