触发 DOM 元素事件时的事件顺序

order of events when a DOM element event is triggered

本文关键字:事件 顺序 触发 元素 DOM      更新时间:2023-09-26

我有一个Javascript函数绑定到INPUT元素的点击事件(复选框或无线电)。该函数检查 DOM 元素的"checked"属性,并根据是否设置它来执行操作。

如果用户单击 GUI 中表示的元素,则选中属性

的状态将反映 GUI 中的外观(即,如果用户的单击激活了该元素,则选中属性为 true)。

但是,如果我触发单击事件(使用 jQuery),那么,当调用绑定到单击函数时,检查 checked 属性的状态不会显示新状态。但是,GUI 确实会更新以正确表示实际状态。

是否有执行这些活动的明确顺序?在我看来,在设置检查属性之前调用事件侦听器似乎很奇怪。

有趣。通过 jQuery 调用的 .click() 与直接在元素上调用 .click() 的行为不同。看这里 :

http://jsfiddle.net/g4aVm/6/

我认为这表明jQuery在这里做了一些非标准/错误的事情。

(我有点老式,不相信jQuery与简单的DOM东西。使用库复制已经存在的内容并没有太多好处,但这是一个不同的讨论。