在事件冒泡中找到点击的来源

Ban*_*San 1 javascript event-bubbling

我有以下代码:

<div id="buttons">
    <button id="btn1">1</button>
    <button id="btn2">2</button>
</div>
Run Code Online (Sandbox Code Playgroud)

我将一个事件处理程序附加到<div>来处理点击。

当我单击一个按钮时,该事件被 div 捕获。有没有办法获取事件的来源?

例如,如果事件在每个按钮上,那么this关键字将引用按钮。当它打开时,<div>它指的是那个。

当点击被div捕获时,有没有办法定位点击的来源?即点击了哪个实际按钮?

谢谢大家

戴夫

Vim*_*tan 5

您可以使用对象的originalTarget属性event来找出事件的来源。

JSFiddle

HTML

<div id="buttons">
    <button id="btn1">1</button>
    <button id="btn2">2</button>
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript

document.getElementById('buttons').onclick = function (evt) {
    var source = evt.srcElement || evt.originalTarget
    alert(source.id);
}
Run Code Online (Sandbox Code Playgroud)