我有以下片段: http: //jsfiddle.net/L7rne/5/和http://jsfiddle.net/L7rne/6/
事实证明,如果您在 click 事件处理程序中暂停执行脚本,则会选中该复选框,即使存在event.preventDefault()
.
我在 Firefox 7 和 Chrome 15 中尝试过,它们的行为方式相同。
我几乎可以肯定这是一个正确的行为,但不知何故我找不到任何参考为什么会这样。
有人能指出我正确的方向吗?
编辑:
当您从选中的复选框开始时,它变得更加有趣: http: //jsfiddle.net/L7rne/8/ - 复选框未选中,但其值保持选中 http://jsfiddle.net/L7rne/9/ - 复选框变为未选中,但其值变为false
(这与使用checkbox.checked
and的纯 Javascript 代码一致checkbox.getAttribute('checked')
,所以我没有粘贴另一个 jsfiddle 片段)
编辑2:
COBOLdinosaur 在其中一条评论中指出了这一点:http ://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-cancelation ,但恕我直言,这只证实了我的观点...