Re: [ js ] 如何知道 某個元素是否有 Event Listener

看板Ajax作者 (小殘)時間15年前 (2009/12/28 23:11), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串2/3 (看更多)
自己記錄吧 <script> Element.prototype.observe = function (eventName, handler) { if(!this.__eventListeners) this.__eventListeners = new Array(); this.__eventListeners[eventName] = true; if (this.addEventListener) this.addEventListener(eventName, handler, false); else this.attachEvent('on'+eventName, handler); } Element.prototype.hasEventListener = function (eventName) { return this.__eventListeners ? (this.__eventListeners[eventName] ? true : false) : false; } function init() { var test = document.getElementById('test'); alert(test.hasEventListener('click')); // false test.observe('click', function() { alert(test.hasEventListener('click')); // true alert(test.hasEventListener('mouseover')); // false }); } </script> </head> <body onload="init();"> <input type="button" value="test" id="test"> </body> ※ 引述《shyangs (丹丹)》之銘言: : 如題, : 網路上搜尋到相同的問題: : http://forums.mozillazine.org/viewtopic.php?f=19&t=1175655&start=0 : javascript 裡好像沒有 ActionScript 3.0 的 hasEventListener() method : 那如果一個元素,被加入 EventListener,我們有沒辦法得知? : elem.addEventListener("load", func_A, false); : 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.75.164

12/28 23:15, , 1F
user script 執行的時間通常會在 documentComplete 之後...
12/28 23:15, 1F

12/28 23:15, , 2F
所以以原 po 寫 grease monkey 的狀況 , 還是會有漏網 XD
12/28 23:15, 2F
文章代碼(AID): #1BECgHAF (Ajax)
文章代碼(AID): #1BECgHAF (Ajax)