作者emn178 (小殘)
看板Ajax
標題Re: [ js ] 如何知道 某個元素是否有 Event Listener
時間Mon Dec 28 23:11:10 2009
自己記錄吧
<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
1F:→ TonyQ:user script 執行的時間通常會在 documentComplete 之後... 12/28 23:15
2F:→ TonyQ:所以以原 po 寫 grease monkey 的狀況 , 還是會有漏網 XD 12/28 23:15