有没有人知道我可以使用的库或模式在javascript对象图中实现事件和事件冒泡而不通过DOM?
简而言之,我有一个包含其他类实例的类的实例,我想从子类中触发可以冒泡图形/链的事件。
有什么建议吗?
答案 0 :(得分:0)
bob.js framework公开您可以使用的事件机制。作为事件的对象,或者请求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对象并非总是如此) 即可。但是,作为一种解决方法,您可以使用子事件侦听器来触发父对象上的事件, - 效果将类似于冒泡。