2013-04-24 31 views
1

我有以下代碼:查找點擊的來源,事件冒泡

<div id="buttons"> 
    <button id="btn1">1</button> 
    <button id="btn2">2</button> 
</div> 

附上一份事件處理程序<div>處理點擊。

當我點擊一個按鈕時,事件被div捕獲。有沒有辦法獲得事件的來源?

例如,如果事件出現在每個按鈕上,則關鍵字this將引用按鈕。當它在<div>它指的是。

當點擊被div捕獲時,有沒有找到點擊源的方法?即哪個實際按鈕被點擊了?

感謝所有

戴夫

+0

重複:http://stackoverflow.com/問題/ 485453 /最佳方式對GE噸最原始目標 – 2013-04-24 14:08:53

回答

2

可以使用event對象的originalTarget屬性來找出事件的源。

JSFiddle

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

如果你使用jQuery,這應該幫助:

$("#buttons").click(function(evt){ 
     alert($(evt.target).attr("id")); 
});