在JavaScript中使用attachEvent()/ addEventListener()添加的访问事件

时间:2009-03-25 11:10:20

标签: javascript events

如何在JavaScript中访问使用attachEvent() / addEventListener()添加的事件?

使用案例:使用FireBug控制台调试事件。

3 个答案:

答案 0 :(得分:5)

无法访问它们。

根据您要实现的目标,调试事件的更好方法可能是从事件处理函数输出您感兴趣的event properties ...

答案 1 :(得分:0)

如果始终使用自定义方法添加和删除处理程序,则可以使用相同的方法维护它们的日志。这会增加一些开销。

例如,这是一篇涉及IE的文章 -

//Run=window.Run || {Shadow:{},nextid:0};

else if(window.attachEvent){    
    Run.handler= function(who, what, fun){
        if(who.attachEvent){

            who.attachEvent('on'+what, fun);

            var hoo=who.id || who.tagName+(++Run.nextid);
            if(!Run.Shadow[hoo])Run.Shadow[hoo]={};
            if(!Run.Shadow[hoo][what])Run.Shadow[hoo][what]=[];
            Run.Shadow[hoo][what].push(fun);
        }
    }
}

答案 2 :(得分:0)

我知道在jQuery(1.8版之前)你可以做类似

的事情
$element.data('events')

使用fireQuery,您实际上可以在HTML标签like this

中看到处理程序

另见this