@@ -83,6 +83,9 @@ module.exports = define = ns.define = function(objPrototype, defines, baseDefine
83
83
return data ;
84
84
} ) ;
85
85
86
+ // Add in the base event methods
87
+ define . addBaseEvents ( objPrototype ) ;
88
+
86
89
// Add necessary event methods to this object.
87
90
for ( var prop in eventsProto ) {
88
91
Object . defineProperty ( objPrototype , prop , {
@@ -280,7 +283,7 @@ make = {
280
283
if ( newVal !== current ) {
281
284
setData . call ( this , newVal ) ;
282
285
283
- canEvent . dispatch . call ( this , {
286
+ canEvent . trigger . call ( this , {
284
287
type : prop ,
285
288
target : this
286
289
} , [ newVal , current ] ) ;
@@ -644,7 +647,6 @@ assign(eventsProto, {
644
647
_eventSetup : function ( ) { } ,
645
648
_eventTeardown : function ( ) { } ,
646
649
addEventListener : function ( eventName , handler ) {
647
-
648
650
var computedBinding = this . _computed && this . _computed [ eventName ] ;
649
651
if ( computedBinding && computedBinding . compute ) {
650
652
if ( ! computedBinding . count ) {
@@ -656,10 +658,7 @@ assign(eventsProto, {
656
658
657
659
}
658
660
659
- var baseAddEventListener = this . __proto__ . addEventListener ||
660
- eventLifecycle . addAndSetup ;
661
-
662
- return baseAddEventListener . apply ( this , arguments ) ;
661
+ return this . _baseEvents . addEventListener . apply ( this , arguments ) ;
663
662
} ,
664
663
665
664
// ### unbind
@@ -678,8 +677,7 @@ assign(eventsProto, {
678
677
679
678
}
680
679
681
- return eventLifecycle . removeAndTeardown . apply ( this , arguments ) ;
682
-
680
+ return this . _baseEvents . removeEventListener . apply ( this , arguments ) ;
683
681
}
684
682
} ) ;
685
683
eventsProto . on = eventsProto . bind = eventsProto . addEventListener ;
@@ -721,6 +719,14 @@ define.setup = function(props, sealed) {
721
719
} ;
722
720
define . replaceWith = replaceWith ;
723
721
define . eventsProto = eventsProto ;
722
+ define . addBaseEvents = function ( objPrototype ) {
723
+ objPrototype . _baseEvents = objPrototype . addEventListener &&
724
+ objPrototype . addEventListener !== eventsProto . addEventListener ?
725
+ { addEventListener : objPrototype . addEventListener ,
726
+ removeEventListener : objPrototype . removeEventListener } :
727
+ { addEventListener : eventLifecycle . addAndSetup ,
728
+ removeEventListener : eventLifecycle . removeAndTeardown } ;
729
+ } ;
724
730
define . defineConfigurableAndNotEnumerable = defineConfigurableAndNotEnumerable ;
725
731
define . make = make ;
726
732
define . getDefinitionOrMethod = getDefinitionOrMethod ;
0 commit comments