Jquery工具触摸水平仅禁用垂直触摸

前端之家收集整理的这篇文章主要介绍了Jquery工具触摸水平仅禁用垂直触摸前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有jquery工具滚动…我喜欢它只为swipeLeft swipeRight实现触摸选项.

当我使用touch:true时,它也会在swipeUp / Down时旋转.

我按照说明在这里:

07000

和这里:

07001

但似乎没有工作..任何想法?我的小提琴/演示在下面供参考

fiddle: 07002

demo: 07003

谢谢

解决方法

如果您使用的唯一控件是Scrollable,那么您可以从 here编辑它的源代码以修复该行为或根据您的需要调整它.

修改了您发布的fiddle,以在JavaScript代码部分中包含Scrollable控件的代码.

在控件的代码添加的行是在以下代码段的末尾添加注释//的行:

// touch event
    if (conf.touch) {
        var touch = {};

        itemWrap[0].ontouchstart = function(e) {
            var t = e.touches[0];
            touch.x = t.clientX;
            touch.y = t.clientY;
        };

        itemWrap[0].ontouchmove = function(e) {

            // only deal with one finger
            if (e.touches.length == 1 && !itemWrap.is(":animated")) {            
                var t = e.touches[0],deltaX = touch.x - t.clientX,deltaY = touch.y - t.clientY,absX = Math.abs(deltaX),// added
                     absY = Math.abs(deltaY);                              // added

                // Only consider the event when the delta in the
                // desired axis is greater than the one in the other.
                if(vertical && absY > absX || !vertical && absX > absY)    // added
                    self[vertical && deltaY > 0 || !vertical && deltaX > 0 ? 'next' : 'prev']();

                e.preventDefault();
            }
        };
    }

我已经在Android中尝试使用本机和Opera浏览器,并且似乎按预期工作.

猜你在找的jQuery相关文章