如上所述,我有一个按钮,单击该按钮时,将打开子菜单。对于子菜单中的每个选项,都有三个元素(实际上我认为更多,但为了简单起见将保留为3)。我将焦点放在子菜单的主div(白色“框架”)上。这个div的onblur - 我然后隐藏子菜单。
这一切都像预期的那样行事 - 但我有一个探测器,当某个特定选项的3个元素之一被点击(即给定焦点)时,主div会关闭,因为它是onblur事件处理程序 - 而PopUp函数链接到子菜单中选项的元素的onClick事件不会被触发/到达。
我需要通过这种方式来处理主div的onblur事件,如果选项没有被点击。
我有JQuery明显使用,所以我非常乐意与它一起解决问题。
这就是我要建议的。我不认为这感觉很糟糕,我认为这是改变事件优先顺序而不知道其他事件的好方法。 –
非常感谢您的反馈Justin,非常感谢。 –
使用这个,我已经注意到onblur仍然会在onclick之前发生,延迟时间低于45ms,有时候延迟时间为46-50ms。不知道是什么导致了变量的结果,但它可以在同一台PC /浏览器上进行。我猜测这个范围可能会扩散,或者对其他人完全不同,所以我将计时器设置为250ms,以保证安全。 – shinypenguin