复选框更改和单击事件之间的jQuery区别
如标题所示,我想知道checkbox change
和click
事件之间的区别(在jQuery中)
我已经读完了答案,复选框上的.click和.change有什么区别
但是,它对我不起作用。change
即使我在不失去焦点的情况下射击也会触发。
两者似乎都在工作。我在这里想念什么吗?
回答:
根据W3C,该onclick
事件是由键盘出于可访问性目的触发的:
为了给不使用鼠标的用户提供更好的用户体验,已经开发了浏览器来触发onclick
事件,即使使用键盘进行 单击 也是如此。
因此,click
即使使用键盘的空格键单击了复选框,jQuery的事件也会触发。change
,显然,每次复选框状态更改时都会触发。
复选框恰好是change
且click
可互换的特殊情况,因为您不能在change
没有触发的情况下触发事件click
。
当然,此规则的例外情况是您是否要使用javascript手动更改复选框,例如:
/* this would check the checkbox without firing either 'change' or 'click' */$('#someCheckbox').prop('checked',true);
/* this would fire 'change', but not 'click'. Note, however, that this
does not change the checkbox, as 'change()' is only the function that
is fired when the checkbox changes, it is not the function that
does the changing */
$('#someCheckbox').trigger('change');
/* this would fire 'click', which by default change state of checkbox and automatically triggers 'change' */
$('#someCheckbox').trigger('click');
希望这可以帮助。
以上是 复选框更改和单击事件之间的jQuery区别 的全部内容, 来源链接: utcz.com/qa/411743.html