有谁知道我可以用来在 javascript 对象图中实现事件和事件冒泡而不通过 DOM 的库或模式?
简而言之,我有一个包含其他类实例的类的实例,我想从子类中触发事件,这些事件可以使图形/链冒泡。
有什么建议么?
有谁知道我可以用来在 javascript 对象图中实现事件和事件冒泡而不通过 DOM 的库或模式?
简而言之,我有一个包含其他类实例的类的实例,我想从子类中触发事件,这些事件可以使图形/链冒泡。
有什么建议么?
bob.js 框架公开了您可以使用的事件机制。作为事件的对象,或者要求 bob.js 在您的对象上创建函数。这是第二种方法,因为它更易于阅读(请参阅下面有关冒泡的说明):
var DataListener = function() {
var fire = bob.event.namedEvent(this, 'received');
this.start = function(count) {
for (var i = 0; i < count; i++) {
fire(i + 1);
}
};
};
var listener = new DataListener();
listener.add_received(function(data) {
console.log('data received: ' + data);
});
listener.start(5);
// Output:
// data received: 1
// data received: 2
// data received: 3
// data received: 4
// data received: 5
至于冒泡:bob.js 不支持冒泡(至少目前)。此外,如果在父级上定义的事件与在子级上定义的事件相似,则冒泡是可能的(对于 Html DOM 元素是这种情况,但对于非 DOM 对象并非总是如此)。但是,作为一种解决方法,您可以让子事件侦听器在父对象上触发事件 - 效果类似于冒泡。