javascript - 如何确定哪个元素收到了事件?

标签 javascript dom dom-events

我刚刚完成了一次相当紧张的调试 session ,我的 cucumber测试代码可以使用 webkit 工作但无法使用selenium 。通过非常具体地了解所单击的确切 DOM 元素,问题得到了解决。我需要指定单击深度嵌套的 <span>元素。这提出了一个我不确定如何回答的问题:

我如何知道哪个元素最初收到了事件?

我已经阅读了一些有关事件冒泡的内容,因此即使我的元素的事件处理程序触发,也不意味着它是接收事件的初始元素。我不明白为什么 Chrome 能够接受点击事件并向下传播到触发我的处理程序的正确元素,但 Firefox 却没有向下传播该事件。

This question on debugging events并没有完全捕获我的问题,因为在这种情况下我不知道要检查什么元素。我基本上猜对了。我希望有一个更有条理的过程来调试。帮助我更好地理解 JS 事件冒泡/传播模型的奖励积分。

最佳答案

它是事件对象的target 属性。

domElement.addEventListener('click', function(e){ 
    console.log(e.target); 
});

关于javascript - 如何确定哪个元素收到了事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25548665/

相关文章:

javascript - d3.js 如何动态添加节点到树

javascript - 无法读取 slider 上 null 的属性 'addEventListener'

javascript - 如何使用 JavaScript 滚动到某个特定地点/ID?

javascript - 可以使用正则表达式来比较和匹配单词集吗?

javascript - 当 PHP 内联到 html(或其他 Web 文件)中时会发生什么?

javascript - 使用 AngularJS 选择 DOM 元素

javascript - 嵌入式 Flash 对象能否访问其父文档的 DOM?

javascript - 如何阻止用户关闭 Javascript 中的窗口?

javascript - Angular Material 的 md-autocomplete 中的跳跃文本

javascript - 通过纯javascript比较IP地址