2016-05-20 53 views
-2

的HTML段舔識別點擊元素,並停止傳播該元素爲<a>

<div id="aaa"> 
...<a id="a1">...</a>...<a id="a2">...</a>... 
</div> 

我想添加一個點擊事件來處理的div的點擊。 但是所有的元素都有它們的點擊事件處理程序。並且click事件處理程序沒有停止傳播,所以它也會執行div click事件。我不能編輯元素a的事件處理程序並添加stoppropagation()。

如何識別div的事件處理程序中的點擊源元素?如果它是一個元素,我只是回來,什麼都不做。

+1

問題尋求幫助的代碼必須包括必要的重現它最短的代碼**在問題本身**最好在[**堆棧片段**](https://blog.stackoverflow.com/2014/09 /引入可運行的JavaScript-CSS-和HTML的代碼段/)。請參閱[**如何創建最小,完整和可驗證的示例**](http://stackoverflow.com/help/mcve) –

回答

1

如果是,則可以檢查單擊事件目標標記名是否爲錨點返回。

document.getElementById('aaa').addEventListener("click", function(e){ 
    if(e.target.tagName.toLowerCase() === "a") return; 
});