prototype.js:已经观察到事件名称

时间:2014-05-10 13:20:46

标签: javascript javascript-events prototypejs

我需要检查元素上已附加/观察的事件名称。

//foo is a button
var isEventObserved = ?// need help in this line
var evnName = ?;// how
If(isEventObserved && evnName === 'my:evn2')
{
     $('foo').observe('my:evn1', mymethod1};
}
else
{
   $('foo').observe('my:env2', mymethod2);
}

1 个答案:

答案 0 :(得分:1)

以下是您要找的内容

Event.cache[$('foo')._prototypeUID]列出为元素注册的事件。

Event.cache[$('foo')._prototypeUID]['element']是对被观察元素的引用,对象中的其余属性是在元素上注册的事件(自定义或本机)

所以针对您的具体情况

if(Event.cache[$('foo')._prototypeUID]['my:evn2'] != undefined)
{
    $('foo').observe('my:evn1', mymethod1);
}
else
{
    $('foo').observe('my:env2', mymethod2);
}

请注意我使用最新版本的Prototype 1.7.2进行了测试

相关问题