任何人都可以向我解释为什么无法打开放置在div(用dojox / gesture / swipe事件注册)中的html SELECT控件(或任何其他控件如BUTTON)?我欢迎任何变通办法
require({
}, [ 'dojo/dom', 'dojox/gesture/swipe', 'dojo/on', 'dojo/_base/event' ], function(dom, swipe, on, event) {
var div = dom.byId('testSwipe');
var isSwipe = false;
on(div, swipe.end, function(e) {
console.log("### SWIPE");
});
});
答案 0 :(得分:0)
基于此处的文档,尤其是图片:http://dojotoolkit.org/reference-guide/1.10/dojox/gesture.html
图像描述了dojo如何标准化事件(也适用于桌面)以及滑动如何只是触摸事件的另一层。所以我估计鼠标事件是否被touchstart或其他东西取代,那么它很可能会阻止默认的鼠标动作......
一旦我再次停止传播事件(在SELECT上),它就可以了。
query("select", this.domNode).on(touch.press, function(e){e.stopPropagation()});
其中this.domNode是启用滑动的元素
on(this.domNode, swipe, lang.hitch(this, "_onSwipe"));
不幸的是,覆盖默认行为的滑动(触摸)事件不是很方便,我刚刚离开了dojox / gesture / swipe或touch。我似乎更愿意实现自己的触摸事件处理。