JavaScript - 使用Prototype进行事件绑定/解除绑定

时间:2011-02-28 16:56:43

标签: javascript-events prototypejs javascript-framework

我希望通过原型框架观察两个自定义事件并取消绑定其中一个。

意思是,当浏览器加载DOM元素时,我想注册以下事件:“customEvent:Task1”和“customEvent:Task2”。这两个事件都在整个页面上观察到。

当调用/执行“customEvent:Task1”时,我想取消绑定/取消注册页面上的“customEvent:Task2”事件。当调用“customEvent:Task2”时,它只执行一个函数。

那么如何使用原型框架注册(绑定)和取消注册(取消绑定)事件。

提前感谢您的帮助。

修改 已注册的customEvents未绑定到元素,但可在整个页面中使用。我希望这是有道理的。

再次感谢。

1 个答案:

答案 0 :(得分:1)

您可以将Event.on用于与文档本身相关的全局内容:
Event.on是Prototype 1.7的新手)

document.on('customEvent:Task1', function(event, element) {
    if (customEventTask2) customEventTask2.stop();
});
var customEventTask2 = document.on('customEvent:Task1', function(event, element) {
    // This is your second event type
});

当然,剩下的就是fire一些事件。

document.fire('customEvent:Task1');
document.fire('customEvent:Task2'); // Should not fire