在原型中是否有一种方法来评估正在监听dom对象事件的内容?

时间:2009-06-15 14:17:50

标签: prototype

我已经为我的原型代码添加了一个事件监听器,我想知道是否有办法检查观察事件的给定dom元素是什么?

最好使用firebug进行检查,但javascript代码可以。

1 个答案:

答案 0 :(得分:1)

据我所知,没有。不是原型,也不是vanilla JavaScript。

原型API可以在http://prototypejs.org/api获得,但刚看了一眼,确实没有任何办法可以做到这一点。

然而,一个选项是制作自己的注册表。

修改

例如:

var EventRegistry = function() {
    var events=[];
    this.addEvent = function (element, func) {
        events.push({element:element,func:func});
        element.observe(func);
    }

    this.clearEvents = function(element) {
        events = events.reject(function(e) { 
            if (e.element == element) { 
                e.element.stopObserving(e.func); 
                return true;
            } else return false; 
        });
    }

    this.clearAllEvents = function (element) {
        events.each(function(e) { e.element.stopObserving(e.func); });
        events = [];
    }
}();

(注意:未经测试。)