触摸移动时停止元素

时间:2013-07-02 16:14:33

标签: 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事件触发时,它都会完全忽略我的条件并继续超过我​​已经布置的坐标。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您停止在条件中传播事件,但仍然正在应用左侧css属性。如果您希望阻止这种情况,请通过从条件中返回来退出事件处理程序。传播用于将事件传播到DOM层次结构中较高的DOM元素。