我正在使我的网站触摸友好,并创建了一个简单的轮播样式插件,效果很好,但是当触发 touchend 事件并且原始目标是图像(用户触摸图像然后滑动/向左导航)时,它仍在打开与图像关联的链接。
我已经输入了 event.stopPropagation() 和 event.preventDefault() 但它没有效果。
有谁知道如何防止这种情况?
编辑:
我正在使用以下方法绑定触摸事件:
obj.parent().bind('touchstart', onTouchStart);
obj.parent().bind('touchend', onTouchEnd);
这是touchend功能
function onTouchEnd(event) {
if(!cdata.in_touch) return;
cdata.in_touch = false;
var pos = getPointerPosition(event);
var final_distance = Math.sqrt(pos.x - cdata.touch_start);
cdata.timer_end = new Date();
cdata.timer_length = cdata.timer_end - cdata.timer_start;
if(cdata.timer_length > 100) {
if (final_distance > 100) {
event.stopPropagation();
event.preventDefault();
// no effect, link associated with image still fires
return;
}
}
}