处理IE和Chrome / FF之间的事件顺序差异

时间:2018-09-06 06:41:17

标签: javascript jquery

几天以来,我一直在努力解决问题,具体取决于事实,即IE中的事件顺序与Chrome和FF不同。 我构建了一个自定义复选框,该复选框具有三种状态:选中,未选中和不确定。在“单击”上启动一个可更改状态的脚本。另外,我需要'Change'事件来根据复选框的状态执行操作。

在Chrome浏览器中,它的工作原理就像一个超级按钮:首先“点击”触发->脚本更改状态->然后“更改”触发->新状态发生变化。

在IE中,事件顺序不同:第一个“更改”触发->当前状态发生了某些事情->“单击”触发,第二个触发->状态更改。

我尝试使用“ mouseup”事件,该事件始终在所有浏览器中的“更改”之前触发。但这不会在复选框标签元素上触发,而不会在复选框本身上触发。

在我的情况下,其他情况:原始复选框被隐藏,并被设计好的复选框替代。因此,用户甚至无法点击原始复选框。

我将jquery及其小部件工厂用于此自定义复选框。

如何按照必要的顺序处理所需的事件:点击->更改

感谢您的想法! 迈克

0 个答案:

没有答案