* [html5] fix accessing vm in doms without __vue__.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/19f0c01c Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/19f0c01c Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/19f0c01c Branch: refs/heads/dev Commit: 19f0c01cfb3c5520a46a0b3ee77a137ded381321 Parents: 73d2f13 Author: MrRaindrop <tekk...@gmail.com> Authored: Tue Sep 12 10:38:59 2017 +0800 Committer: MrRaindrop <tekk...@gmail.com> Committed: Tue Sep 12 10:38:59 2017 +0800 ---------------------------------------------------------------------- html5/render/vue/env/event-manager.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/19f0c01c/html5/render/vue/env/event-manager.js ---------------------------------------------------------------------- diff --git a/html5/render/vue/env/event-manager.js b/html5/render/vue/env/event-manager.js index 914981d..c2d714d 100644 --- a/html5/render/vue/env/event-manager.js +++ b/html5/render/vue/env/event-manager.js @@ -77,13 +77,17 @@ function _init (doc) { ? true : needPassive.indexOf(evt) > -1 && _sp ? { passive: true } : false doc.addEventListener(evt, function (e) { - const el = e.target + let el = e.target let vm = el.__vue__ - let disposed = false - let evtName = e.type + while (!vm && el !== document.body) { + el = el.parentElement + vm = el.__vue__ + } if (!vm) { // not a vue component. return } + let disposed = false + let evtName = e.type /** * take full control of redirection of <a> element. */