javascript - 在触发 touchmove 时停止元素

标签 javascript jquery

我有一个 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/

相关文章:

javascript - 使用 react-native 中的 swipeout 将函数从父容器传递到子容器

javascript - 插件在每次返回的点击中保存变量

javascript - 如何在用户点击的地方添加图片?

php - 将 JavaScript 变量发送到 PHP 文件

javascript - 在模式中显示 Google AdSense 广告

javascript - 支持 JS for .Net 的 headless 浏览器

JQuery:AJAX 错误:获取发送到服务器的数据

javascript - 计算时将逗号改为点,使其能够计算

php - 单击元素时切换 CSS 样式

javascript - jQuery 集合、功能和组织