一見単純な質問がありますが、どこが間違っているのかわかりません。Dojo のスキルが明らかに不足しているため、私の素朴さをお許しください。
私が達成しようとしていること:スワイプとクリックのイベントに応答したい要素が DOM にあります。ただし、swipe.end イベントがトリガーされると、クリック イベントも発生します。イベントのバブリングを防止しようとしました (この場合、イベントがバブリングしていると想定していますstopPropagation
) event.stop
。以下のコード スニペットを参照するか、動作中の fiddleを確認してください。
HTML
<div id='testSwipe'>Swipe Me</div>
JS
require({
}, [
'dojo/dom',
'dojox/gesture/swipe',
'dojo/on',
'dojo/_base/event'
], function(dom, swipe, on, event) {
var div = dom.byId('testSwipe');
on(div, swipe.end, function(e) {
console.log("### SWIPE");
e.stopPropagation(); // Click event still fires
event.stop(e); // Click event STILL fires
});
on(div, 'click', function(e) {
console.log("### CLICK");
});
});
この例では、イベントをスワイプすると、次の出力が発生します。
### SWIPE
### CLICK
助言がありますか?</p>