这是一个简单的问题示例:
<body>
<button id="parent" onclick="alert('parent')">
<span id="child" onclick="alert('child')">Authenticate</span>
</button>
</body>
Run Code Online (Sandbox Code Playgroud)
在Chrome中,这会提醒"孩子"然后"父母",但在IE/FF中我们只会获得"父母".
很明显,这可以通过多种方式修复(将按钮更改为div,删除跨度等),但我想知道是否有办法使这项工作(即提醒"孩子")而不更改HTML.
谢谢!
PS:尝试过JQuery并且具有相同的行为.
正如 @muistooshort 所说,在其他单击事件中处理单击事件似乎不自然。我还认为你必须重新考虑你的设计。
话虽这么说,您可以在主容器上处理单个单击事件,然后检查哪个元素是单击的来源
考虑到您的用例,这将是要走的路,我认为:
$('your-button-container').click(function(event){
console.log(event.originalEvent.srcElement);
});
Run Code Online (Sandbox Code Playgroud)
进行必要的检查event.originalEvent.srcElement并采取相应的行动。
编辑: 不使用 JQuery,它会像这样:
yourButtonContainer.addEventListener(function(event){
console.log(event.srcElement);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6240 次 |
| 最近记录: |