Javascript off-DOM对象事件和事件冒泡

时间:2012-07-26 21:02:18

标签: javascript events composite event-bubbling

有没有人知道我可以使用的库或模式在javascript对象图中实现事件和事件冒泡而不通过DOM?

简而言之,我有一个包含其他类实例的类的实例,我想从子类中触发可以冒泡图形/链的事件。

有什么建议吗?

1 个答案:

答案 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对象并非总是如此) 即可。但是,作为一种解决方法,您可以使用子事件侦听器来触发父对象上的事件, - 效果将类似于冒泡。