You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by gu...@apache.org on 2017/09/26 04:25:17 UTC
[15/47] incubator-weex git commit: * [html5] fix click.
* [html5] fix click.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/5bc58516
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/5bc58516
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/5bc58516
Branch: refs/heads/dev
Commit: 5bc585168ec5586901e1865a738ac521ec8a861b
Parents: 768b13a
Author: MrRaindrop <te...@gmail.com>
Authored: Thu Aug 24 21:37:14 2017 +0800
Committer: MrRaindrop <te...@gmail.com>
Committed: Thu Aug 24 21:37:14 2017 +0800
----------------------------------------------------------------------
build/karma.vue.conf.js | 1 +
html5/render/vue/core/node.js | 2 +-
html5/render/vue/env/event-manager.js | 17 +++++++++--------
html5/render/vue/lib/gesture.js | 2 +-
4 files changed, 12 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc58516/build/karma.vue.conf.js
----------------------------------------------------------------------
diff --git a/build/karma.vue.conf.js b/build/karma.vue.conf.js
index 6220025..693c241 100644
--- a/build/karma.vue.conf.js
+++ b/build/karma.vue.conf.js
@@ -74,6 +74,7 @@ module.exports = function (config) {
'../html5/test/render/vue/!(utils|core)/*.js'
],
exclude: [
+ '../html5/test/render/vue/core/node.js',
'../html5/test/render/vue/helper/*.js',
'../html5/test/render/vue/vender/**/*.js',
'../html5/test/render/vue/data/**/*.js'
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc58516/html5/render/vue/core/node.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/core/node.js b/html5/render/vue/core/node.js
index caf4230..d38cafd 100644
--- a/html5/render/vue/core/node.js
+++ b/html5/render/vue/core/node.js
@@ -85,7 +85,7 @@ export function createEventMap (context, ...events) {
*/
let vm = context
while (vm) {
- const ons = getListeners(vm.$vnode, listenTo)
+ const ons = getListeners(vm._vnode || vm.$vnode, listenTo)
const len = ons.length
if (len > 0) {
let idx = 0
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc58516/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 7a074d5..3ecf618 100644
--- a/html5/render/vue/env/event-manager.js
+++ b/html5/render/vue/env/event-manager.js
@@ -88,25 +88,26 @@ function _init (doc) {
const el = e.target
let vm = el.__vue__
let disposed = false
-
+ let evtName = e.type
/**
* take full control of redirection of <a> element.
*/
- if (evt === 'click') {
+ if (evtName === 'click') {
e.preventDefault()
+ return
}
- if (evt === 'tap' && evt._for !== 'weex') {
+ if (evtName === 'tap' && e._for !== 'weex') {
return
}
- else if (evt === 'tap') {
- evt = 'click'
+ else if (evtName === 'tap') {
+ evtName = 'click'
}
while (vm) {
- const vnode = vm.$vnode || vm._vnode
+ const vnode = vm._vnode || vm.$vnode
const elm = vm.$el
- const ons = getListeners(vnode, evt)
+ const ons = getListeners(vnode, evtName)
const len = ons && ons.length
if (len > 0) {
@@ -129,7 +130,7 @@ function _init (doc) {
* NOTE: if target==='_blank' then do no jumping and dispatch the
* click event to document.body for further disposing.
*/
- if (evt === 'click' && isANode(elm)) {
+ if (evtName === 'click' && isANode(elm)) {
const href = elm.getAttribute('href')
const target = elm.getAttribute('target')
disposed = true
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/5bc58516/html5/render/vue/lib/gesture.js
----------------------------------------------------------------------
diff --git a/html5/render/vue/lib/gesture.js b/html5/render/vue/lib/gesture.js
index 62ad226..5294cb2 100644
--- a/html5/render/vue/lib/gesture.js
+++ b/html5/render/vue/lib/gesture.js
@@ -70,7 +70,7 @@ function getCommonAncestor(el1, el2) {
*/
function fireEvent(element, type, extra) {
var event = doc.createEvent('HTMLEvents')
- event.initEvent(type, false, true)
+ event.initEvent(type, true, true)
if (typeof extra === 'object') {
for (var p in extra) {