2014-11-05 62 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中/動作/輕掃或觸摸現在。好像我寧願實現我自己的觸摸事件處理。