Javascript 什么是正确的W3C点击事件规范?
在Firefox或以前版本的QTWebkit中,在以下情况下不触发单击事件是否正常:Javascript 什么是正确的W3C点击事件规范?,javascript,html,webkit,w3c,qtwebkit,Javascript,Html,Webkit,W3c,Qtwebkit,在Firefox或以前版本的QTWebkit中,在以下情况下不触发单击事件是否正常: 元素上的鼠标向下移动>子元素上的鼠标向上移动>>>未触发单击 子元素上的鼠标向下移动>父元素上的鼠标向上移动>>>未触发单击 测试URL: document.getElementById(“测试”).addEventListener(“单击”,函数)(){ 警报(“正常”); }) div{ 填充:20px; 背景:红色; } 事实上,Firefox的行为与IE和Chrome不同,IE和Chrome在
- 元素上的鼠标向下移动>子元素上的鼠标向上移动>>>未触发单击
- 子元素上的鼠标向下移动>父元素上的鼠标向上移动>>>未触发单击
document.getElementById(“测试”).addEventListener(“单击”,函数)(){
警报(“正常”);
})
div{
填充:20px;
背景:红色;
}
事实上,Firefox的行为与IE和Chrome不同,IE和Chrome在
mousedown
和mouseup
发生在不同元素上时,会对共同祖先(?)发出“点击”。浏览器供应商的投票结果如下:
- (“未收到两个元素的共同祖先的点击事件”)-未做出任何决定
- 合并到(“停止发送”点击“鼠标拖动元素”)-不打算更改其行为
- 移动到(“当鼠标向下和鼠标上的光标下面的元素不同时触发意外的点击事件”)-标记为已修复,没有任何注释(我没有测试它是否确实是)
…这支持了一个假设,即规范作者的意图与Firefox中实现的一致。两种不同的浏览器,两种不同的做事方式。一个比另一个更正确。