JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 如何使用Hammer.js在iOS中禁用垂直滚动?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在iOS中使用HAMMer.js(jQuery版本)在水平滚动列表中禁用垂直滚动.我试过这个:
$(document).hAMMer().on('swipe,drag','body',function(event)
    {
        if (event.direction == HAMMer.DIRECTION_UP || event.direction == HAMMer.DIRECTION_DOWN) 
        {
            event.preventDefault();
        }
    }
);

但它不起作用.那么,如何在能够水平滚动的同时垂直禁用滚动?

解决方法

我使用event.gesture.preventDefault做到了:
$('#horizontalCarousel').hAMMer({ drag_lock_to_axis: true }).on("swipe drag",function(event) {
        event.gesture.preventDefault();
        if(event.type == "swipe"){
            swipeAction(event);
        } else {
            dragAction(event);
        }
 });

这是给定的documentation

[编辑]

我的回答只是让你知道你使用了错误的event.preventDefault().实际上,您还使用了错误的语法来检查事件方向.你应该能够以这种方式管理它,然我还没有测试过:

$(document).hAMMer({ drag_lock_to_axis: true }).on("swipe drag",function(event) {
            if (event.gesture.direction == HAMMer.DIRECTION_UP || event.gesture.direction == HAMMer.DIRECTION_DOWN){
                 event.gesture.preventDefault();
            }
     });

改变了两件事:event.gesture.direction和event.gesture.preventDefault(); event.direction是在旧版本的锤子js上执行它的方法.

注意:如果您想对滑动事件执行某些操作,例如:在滑动时水平跳跃更大的数量,您可以合并我的答案.

大佬总结

以上是大佬教程为你收集整理的javascript – 如何使用Hammer.js在iOS中禁用垂直滚动?全部内容,希望文章能够帮你解决javascript – 如何使用Hammer.js在iOS中禁用垂直滚动?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。