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

时间:2011-05-13 15:58:25

标签: javascript jquery dom

我有一个Javascript函数绑定到INPUT元素的click事件(复选框或无线电)。该函数检查DOM元素的'checked'属性,并根据它是否设置采取行动。

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

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

是否有执行这些活动的定义顺序?对我来说,在设置checked属性之前调用事件监听器似乎很奇怪。

1 个答案:

答案 0 :(得分:5)

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

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

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

(我很老式,并且不相信jQuery有简单的DOM东西。使用库来复制已经存在的内容并没有太大的收获,但这是一个不同的讨论。)