我有一个看似简单的问题,但我似乎不知道自己哪里出了问题。诚然,我在Dojo方面缺乏技能,所以请原谅我的天真。
我想要完成的:我在DOM中有一个元素,我想要响应、滑动、和单击事件。但是,当触发swipe.end事件时,也会触发单击事件。我试图通过调用stopPropagation并在事件上直接调用event.stop来阻止事件的冒泡(在本例中假设事件正在冒泡),但没有效果。您可以在下面看到一个代码片段,或者查看一个工作小提琴。
<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有什么建议吗?
发布于 2012-12-18 11:07:30
发布于 2013-10-08 07:10:15
单击元素时,单击事件始终会触发。与使用单击事件不同,您可以使用dojox/手势/拍打进行点击手势
on(div, tap, function(e) {
console.log("### CLICK");
});更新了小提琴
https://stackoverflow.com/questions/11284333
复制相似问题