【发布时间】:2010-12-05 13:13:09
【问题描述】:
我有几个链接绑定到自定义事件。该事件是通过悬停任何这些链接来触发的。但是我不希望它在我实际悬停的链接上触发。
我能想到几个可能的解决方案
我在事件的回调函数中放置了一个“if”,并以某种方式检查触发对象是否是尝试运行回调函数并相应处理 t 的对象。可以方便有效地比较对象吗?
暂时取消绑定触发事件的对象的侦听器,然后重新绑定它。这听起来不是万无一失的,因为事件可能在实际触发之前反弹?我不确定这些类型的事件队列是如何处理的。在执行下一条语句之前,jquery.trigger 实际上会影响所有侦听器吗?另一个缺点是它可能被认为是一种黑客行为而不是良好的做法?你的意见?
跳过整个事件绑定触发器,只收集数组中的每个对象,然后让悬停回调函数遍历它做任何我想做的事情。我想这实际上有点像上述场景中幕后实际发生的事情
有解决此问题的通用做法吗?观察者模式中的某些东西?
【问题讨论】:
-
“我有几个链接绑定到一个自定义事件。该事件是通过悬停任何这些链接触发的。但是我不希望它在我实际悬停的链接上触发。 "你真的需要解释一下。这没有多大意义。
-
我相信这意味着“我有多个超链接。将鼠标指针悬停在其中任何一个上时,都会触发一个事件。事件发生时采取的操作必须只影响 / 是的超链接不是/在鼠标指针下。” ...尽管其他人可能会更好地改写它。
标签: jquery event-handling observer-pattern