Changeset 570
- Timestamp:
- 06/11/06 20:16:02 (3 years ago)
- Files:
-
- trunk/openlayers/lib/OpenLayers/Events.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/openlayers/lib/OpenLayers/Events.js
r508 r570 57 57 */ 58 58 register: function (type, obj, func) { 59 if (func == null) { 60 obj = this.object; 61 func = obj; 62 } 59 63 var listeners = this.listeners[type]; 60 listeners.push( func.bindAsEventListener(obj));64 listeners.push( {obj: obj, func: func} ); 61 65 }, 62 66 67 unregister: function (type, obj, func) { 68 var listeners = this.listeners[type]; 69 for (var i = 0; i < listeners.length; i++) { 70 if (listeners[i].obj == obj && listeners[i].type == type) { 71 listeners.splice(i, 1); 72 break; 73 } 74 } 75 }, 76 63 77 remove: function(type) { 64 78 this.listeners[type].pop(); … … 101 115 for (var i = 0; i < listeners.length; i++) { 102 116 var callback = listeners[i]; 103 callback(evt); 117 var continueChain = callback.func.call(callback.obj, evt); 118 if (continueChain != null && !continueChain) break; 104 119 } 105 120 }
