我有 3 个 div 像俄罗斯套娃一样相互包含。
对于所有 div,我有一个绑定 mouseenter 事件的函数。现在从底部慢慢移动鼠标,进入第三层将导致以下事件:
- 鼠标进入第一层
- 鼠标进入第二层
- Mouseenter 第三层
这是完美的,也是预期的结果,因为您需要先进入第一层,然后才能进入第二层,等等。
但是,如果我通过快速移动鼠标执行相同操作,则顺序将是未指定的,例如:
- 鼠标进入第二层
- 鼠标进入第一层
- Mouseenter 第三层
这对我来说没有太大意义 - 你的鼠标如何在进入第一层之前进入第二层?
无论如何,问题是:有什么方法可以强制 jQuery 或 javascript 以它们的自然顺序触发这些事件?如果不是,您能否建议我一种解决方法,例如以某种方式从我的事件处理程序函数中对事件进行排序,并推迟那些过早调用的事件?
测试代码发布在http://jsbin.com/ibepu6/4/