我有一个 div,用于触摸事件以扩展我正在构建的移动菜单。到目前为止,这是我的代码:
$("#" + obj.mobileButtonID).on({
touchmove: function (e) {
var touch = e.originalEvent.targetTouches[0],
if (touch.pageX < 0) {
e.stopPropagation();
} else if (touch.pageX > 200) {
e.stopPropagation();
}
$(this).css({ left: touch.pageX });
});
基本上,我想做的是在某些地方停止 touchmove
事件。假设 div 是在某个 pageX
坐标之上还是之下。我觉得这很接近,但效果不完全正确。每次触发 touchmove
事件时,它都会完全忽略我的条件并继续越过我布置的坐标。
有什么建议吗?
最佳答案
您在条件语句中停止了事件的传播,但左侧的 css 属性仍在应用。如果您希望阻止这种情况,则通过从条件返回来退出您的事件处理程序。传播用于将事件传播到 DOM
层次结构中较高的 DOM
元素。
关于javascript - 在触发 touchmove 时停止元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17430587/