marko 4.24.3 → 4.24.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74,16 +74,6 @@ function addDelegatedEventHandlerToDoc(eventType, doc) {
|
|
74
74
|
var listeners = doc[listenersAttachedKey] = doc[listenersAttachedKey] || {};
|
75
75
|
if (!listeners[eventType]) {
|
76
76
|
body.addEventListener(eventType, listeners[eventType] = function (event) {
|
77
|
-
var propagationStopped = false;
|
78
|
-
|
79
|
-
// Monkey-patch to fix #97
|
80
|
-
var oldStopPropagation = event.stopPropagation;
|
81
|
-
|
82
|
-
event.stopPropagation = function () {
|
83
|
-
oldStopPropagation.call(event);
|
84
|
-
propagationStopped = true;
|
85
|
-
};
|
86
|
-
|
87
77
|
var curNode = event.target;
|
88
78
|
if (!curNode) {
|
89
79
|
return;
|
@@ -106,15 +96,29 @@ function addDelegatedEventHandlerToDoc(eventType, doc) {
|
|
106
96
|
// Attributes will have the following form:
|
107
97
|
// on<event_type>("<target_method>|<component_id>")
|
108
98
|
|
109
|
-
|
110
|
-
|
111
|
-
|
99
|
+
if (event.bubbles) {
|
100
|
+
var propagationStopped = false;
|
101
|
+
|
102
|
+
// Monkey-patch to fix #97
|
103
|
+
var oldStopPropagation = event.stopPropagation;
|
112
104
|
|
113
|
-
|
114
|
-
|
105
|
+
event.stopPropagation = function () {
|
106
|
+
oldStopPropagation.call(event);
|
107
|
+
propagationStopped = true;
|
108
|
+
};
|
109
|
+
|
110
|
+
do {
|
111
|
+
if (target = getEventFromEl(curNode, propName)) {
|
112
|
+
delegateEvent(curNode, propName, target, event);
|
113
|
+
|
114
|
+
if (propagationStopped) {
|
115
|
+
break;
|
116
|
+
}
|
115
117
|
}
|
116
|
-
}
|
117
|
-
}
|
118
|
+
} while ((curNode = curNode.parentNode) && curNode.getAttribute);
|
119
|
+
} else if (target = getEventFromEl(curNode, propName)) {
|
120
|
+
delegateEvent(curNode, propName, target, event);
|
121
|
+
}
|
118
122
|
}, true);
|
119
123
|
}
|
120
124
|
}
|
package/package.json
CHANGED
@@ -79,16 +79,6 @@ function addDelegatedEventHandlerToDoc(eventType, doc) {
|
|
79
79
|
body.addEventListener(
|
80
80
|
eventType,
|
81
81
|
(listeners[eventType] = function(event) {
|
82
|
-
var propagationStopped = false;
|
83
|
-
|
84
|
-
// Monkey-patch to fix #97
|
85
|
-
var oldStopPropagation = event.stopPropagation;
|
86
|
-
|
87
|
-
event.stopPropagation = function() {
|
88
|
-
oldStopPropagation.call(event);
|
89
|
-
propagationStopped = true;
|
90
|
-
};
|
91
|
-
|
92
82
|
var curNode = event.target;
|
93
83
|
if (!curNode) {
|
94
84
|
return;
|
@@ -111,15 +101,29 @@ function addDelegatedEventHandlerToDoc(eventType, doc) {
|
|
111
101
|
// Attributes will have the following form:
|
112
102
|
// on<event_type>("<target_method>|<component_id>")
|
113
103
|
|
114
|
-
|
115
|
-
|
116
|
-
|
104
|
+
if (event.bubbles) {
|
105
|
+
var propagationStopped = false;
|
106
|
+
|
107
|
+
// Monkey-patch to fix #97
|
108
|
+
var oldStopPropagation = event.stopPropagation;
|
117
109
|
|
118
|
-
|
119
|
-
|
110
|
+
event.stopPropagation = function() {
|
111
|
+
oldStopPropagation.call(event);
|
112
|
+
propagationStopped = true;
|
113
|
+
};
|
114
|
+
|
115
|
+
do {
|
116
|
+
if ((target = getEventFromEl(curNode, propName))) {
|
117
|
+
delegateEvent(curNode, propName, target, event);
|
118
|
+
|
119
|
+
if (propagationStopped) {
|
120
|
+
break;
|
121
|
+
}
|
120
122
|
}
|
121
|
-
}
|
122
|
-
}
|
123
|
+
} while ((curNode = curNode.parentNode) && curNode.getAttribute);
|
124
|
+
} else if ((target = getEventFromEl(curNode, propName))) {
|
125
|
+
delegateEvent(curNode, propName, target, event);
|
126
|
+
}
|
123
127
|
}),
|
124
128
|
true
|
125
129
|
);
|