Files
Chamilo/plugin/mindmap/edit-mindmap/vendor/js/kampfer/eventtarget.js
2025-04-10 12:36:07 +02:00

43 lines
865 B
JavaScript

kampfer.require('events');
kampfer.require('Class');
kampfer.provide('events.EventTarget');
/*
* 所有需要实现自定义事件的类都必须继承EventTarget类。
*/
kampfer.events.EventTarget = kampfer.Class.extend({
parentNode : null,
addListener : function(type, listener, context) {
k.events.addListener(this, type, listener, context);
},
removeListener : function(type, listener) {
k.events.removeListener(this, type, listener);
},
dispatch : function(type) {
if(type) {
var args = Array.prototype.slice.apply(arguments);
args.unshift(this);
k.events.dispatch.apply(null, args);
}
},
getParentEventTarget : function() {
return this.parentNode;
},
setParentEventTarget : function(obj) {
this.parentNode = obj;
},
dispose : function() {
this.parentNode = null;
k.events.removeListener(this);
}
});