作者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