我有以下代码:
<div id="buttons">
<button id="btn1">1</button>
<button id="btn2">2</button>
</div>
我将一个事件处理程序附加到<div>
以处理点击。
单击按钮时,div会捕获该事件。有没有办法获得事件的来源?
例如,如果事件位于每个按钮上,则this
关键字将引用按钮。当它在<div>
上时,它指的是那个。
当div抓住点击时,有没有办法找到点击源?即点击了哪个实际按钮?
全部谢谢
戴夫
答案 0 :(得分:4)
您可以使用originalTarget
对象的event
属性来查找事件的来源。
HTML
<div id="buttons">
<button id="btn1">1</button>
<button id="btn2">2</button>
</div>
的JavaScript
document.getElementById('buttons').onclick = function (evt) {
var source = evt.srcElement || evt.originalTarget
alert(source.id);
}
答案 1 :(得分:1)
如果您使用jQuery,这应该会有所帮助:
$("#buttons").click(function(evt){
alert($(evt.target).attr("id"));
});