我有一个Javascript函数绑定到INPUT元素的click事件(复选框或无线电)。该函数检查DOM元素的'checked'属性,并根据它是否设置采取行动。
如果用户单击GUI中表示的元素,则checked属性的状态反映GUI中的外观(即,如果用户单击激活了元素,则checked属性为true)。
但是,如果我触发click事件(使用jQuery),那么,当调用bound-to-the-click函数时,检查checked属性的状态不会显示新状态。但是,GUI确实会更新以显示实际状态的正确表示。
是否有执行这些活动的定义顺序?对我来说,在设置checked属性之前调用事件监听器似乎很奇怪。
答案 0 :(得分:5)
有趣。通过jQuery调用的.click()与直接在元素上调用.click()有不同的行为。见这里:
我认为这表明jQuery在这里做了非标准/错误的事情。
(我很老式,并且不相信jQuery有简单的DOM东西。使用库来复制已经存在的内容并没有太大的收获,但这是一个不同的讨论。)