marko 4.24.3 → 4.24.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- do {
110
- if (target = getEventFromEl(curNode, propName)) {
111
- delegateEvent(curNode, propName, target, event);
99
+ if (event.bubbles) {
100
+ var propagationStopped = false;
101
+
102
+ // Monkey-patch to fix #97
103
+ var oldStopPropagation = event.stopPropagation;
112
104
 
113
- if (propagationStopped) {
114
- break;
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
- } while ((curNode = curNode.parentNode) && curNode.getAttribute);
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "4.24.3",
3
+ "version": "4.24.4",
4
4
  "license": "MIT",
5
5
  "description": "UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.",
6
6
  "dependencies": {
@@ -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
- do {
115
- if ((target = getEventFromEl(curNode, propName))) {
116
- delegateEvent(curNode, propName, target, event);
104
+ if (event.bubbles) {
105
+ var propagationStopped = false;
106
+
107
+ // Monkey-patch to fix #97
108
+ var oldStopPropagation = event.stopPropagation;
117
109
 
118
- if (propagationStopped) {
119
- break;
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
- } while ((curNode = curNode.parentNode) && curNode.getAttribute);
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
  );