簡體   English   中英

addEventListener如何影響DOM元素的onclick屬性?

[英]how addEventListener influences the onclick property of DOM element?

element.onclick = function() { alert(1); } 

alert(element.onclick);

上面的代碼將輸出function(){alert(1); }

然后我繼續執行以下代碼:

element.addEventListener('click', function() { alert(2); }, false);
alert(element.onclick);

輸出仍然是函數(){alert(1); }

實際上當點擊元素時,代碼addEventListener('click',function(){alert(2);},false); 有效,這意味着新函數alert(2)已寫入此元素的onclick屬性。 但為什么輸出仍然不變?

那么,我想知道的是在執行addEventListener時onclick屬性是如何更改的?

期待你的回復。

OnClick是DOM Level 0屬性。 AddEventListener是DOM Level 2定義的一部分。 通過AddEventListener方法添加事件處理程序不會更改元素上的OnClick屬性,而是將偵聽器添加到元素上的事件偵聽器集合。 您可以在http://www.w3.org/TR/DOM-Level-2-Events/events.html找到有關DOM Level 2事件的更多信息。 http://en.wikipedia.org/wiki/DOM_events上還有一篇很好的文章。

“onfoo”屬性獨立於通過“addEventListener()”訪問的事件處理程序管理系統。 最好使用一個或另一個,而不是兩個,正確的選擇是更靈活和不引人注意的“addEventListener()”(如果可用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM