2014-11-05 60 views
0

任何人都可以请向我解释为什么HTML选择控制(或任何其他控制像按钮)放在div(这是与dojox /手势/刷卡事件注册)无法打开?我欢迎任何解决方法请dojox /手势/刷卡防止HTML选择打开下拉

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");   
    }); 
}); 

http://jsfiddle.net/zLyck884/

回答

0

基于这里的文件,特别是在图像上:http://dojotoolkit.org/reference-guide/1.10/dojox/gesture.html

图像描绘道场如何规范了事件(也可用于台式机),以及如何滑动只是触摸事件的另一层。所以我估计如果鼠标事件被替换touchstart或什么的,那么它很可能会阻止默认的鼠标动作...

一旦我停止传播事件(在SELECT)进一步,那么它工作正常。

query("select", this.domNode).on(touch.press, function(e){e.stopPropagation()}); 

其中this.domNode是在其上刷卡启用

on(this.domNode, swipe, lang.hitch(this, "_onSwipe")); 

不幸的是,刷卡(触摸)事件覆盖默认的行为是不是很方便的元素,我刚离开DojoX中/动作/轻扫或触摸现在。好像我宁愿实现我自己的触摸事件处理。