Просмотр исходного кода

improve delegation check algorithm

Evan You 12 лет назад
Родитель
Сommit
d5a51f9a22
1 измененных файлов с 4 добавлено и 7 удалено
  1. 4 7
      src/directives/on.js

+ 4 - 7
src/directives/on.js

@@ -1,12 +1,9 @@
 var utils = require('../utils')
 
-function delegateCheck (current, top, identifier) {
-    if (current[identifier]) {
-        return current
-    } else if (current === top || !current.parentNode) {
-        return false
-    } else {
-        return delegateCheck(current.parentNode, top, identifier)
+function delegateCheck (el, root, identifier) {
+    while (el && el !== root) {
+        if (el[identifier]) return el
+        el = el.parentNode
     }
 }