gpt4 book ai didi

javascript - 复选框的单击和更改事件顺序是否有标准?

转载 作者:行者123 更新时间:2023-12-03 13:36:46 25 4
gpt4 key购买 nike

我注意到 Chrome 和 Firefox 中“单击”和“更改”事件的顺序不同。

例如,请参阅此 JSFiddle:http://jsfiddle.net/5jz2g/3/

JavaScript:

var el = $('foo');
var fn = function(e) {
console.log(e.type);
}
el.addEvent('change', fn);
el.addEvent('click', fn);

在 Chrome 中,这会记录:
change
click

在 Firefox 中,这会记录:
click
change

事件的先后顺序有标准吗?哪个应该先开火? MDN 似乎没有提到这一点,我在 W3C 文档中找不到关于此的内容。

最佳答案

DOM3 事件文档有一个 recommendation关于事件顺序。根据它,如果是复选框,正确的顺序将是 click然后 change反之亦然,因为 change事件显然是复选框默认操作的一部分,请参阅 Example 5fiddle ,它在 FF 中按预期工作,但在 Chrome 中没有。无论如何,这是合乎逻辑的。但!让我们仔细阅读默认操作部分:

Default actions should be performed after the event dispatch has been completed, but in exceptional cases may also be performed immediately before the event is dispatched.



你看见了吗? W3C 在一句话中使用了 RFC 的 SHOULD 和 MAY 两个词!没什么可做的,他们是谨慎的人。 IMO,这就是为什么我们拥有我们所拥有的:)

关于javascript - 复选框的单击和更改事件顺序是否有标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25014911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com