我有一个看似简单的问题,但我似乎无法弄清楚我哪里出错了。我的技能在道场中确实缺乏,所以请原谅我的幼稚。
我想要完成的事情:我在 DOM 中有一个元素,我想响应滑动和单击事件。但是,当触发 swipe.end 事件时,也会触发 click 事件。stopPropagation
我试图通过调用和直接调用事件来防止事件冒泡(我假设在这种情况下事件正在冒泡),event.stop
但无济于事。您可以在下面查看代码片段,或查看工作小提琴。
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>