问题描述
|
我看到了Firefox 4.0.1中的问题,其中事件传播似乎没有按我期望的方式工作。假设我有以下HTML:
<button>
<input id=\'cb\' type=\'checkBox\' checked=\'true\'>
<span> foo</span>
</button>
和javascript:
$(document).ready(function() {
$(\"button\").click(function(e) {
console.log(\'got click: button\');
return true;
});
$(\"#cb\").click(function(e) {
console.log(\'got click: checkBox\');
return true;
});
});
请参阅:http://jsfiddle.net/H7fp3/10/
这与我在Chrome(12)和Safari(5.0.5)中的预期一样:
单击复选框,生成:got click: checkBox
,然后got click: button
单独单击按钮,将产生:got click: button
但是,在Firefox(4.0.1)中,两者均产生got click: button
,并且不会更改复选框选中的属性。我在这里想念什么吗? Firefox是否正确传播按钮单击事件?
解决方法
我会说Firefox实际上在这里。根据W3C的验证工具,在“ 7”内不允许使用“ 6”。
同样,“ 8”应为“ 9”,这也可能引起问题(或可能在其他情况下引起问题)。