我有一个看似简单的问题,但我似乎无法弄清楚我要出错的地方。诚然,我的技能缺乏道场,所以请原谅我的天真。如何防止Dojo从冒泡中轻扫手势?
我试图完成:我有,我想对刷卡和点击响应事件的DOM元素。但是,当swipe.end事件被触发时,click事件也被触发。我试图防止事件的冒泡(我假设事件在这种情况下冒泡),通过调用stopPropagation
并直接致电event.stop
对事件,无济于事。你可以看到下面的代码片段,或者查看working 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
有什么建议?