0

我遇到了最烦人的情况。好的,这就去。我正在为移动应用程序使用基于 javascript 的滑动菜单。“滑块”的工作方式与 Facebook 手机类似,您可以在其中单击按钮以在左侧显示菜单,然后再次单击以关闭菜单。作为替代方案,如果您在菜单显示时触摸页面仍然可见的部分,它也会关闭。就是这样。

问题:请注意,我正在为这个应用程序使用 Phonegap。当我在 Xcode 中运行 iOS 模拟器时,除了向左滑动之外,一切都可以正常工作,例如,页面会移动。我想一起禁用滑动事件。我已经尝试过 preventDefault、return false 等。似乎没有任何效果。同样,我唯一的目标是禁用触摸事件,因为对于这个应用程序,我根本不需要它们。请参阅下面的菜单显示/隐藏的 javascript 代码。

谢谢是提前。一切都值得赞赏。

$(function(){
var menuStatus;     

// Show menu
$("a.showMenu").click(function(){

$('#menu').show();
    if(menuStatus != true){

    $(".ui-page-active").animate({
        marginLeft: "170px",

      }, 300, function(){menuStatus = true});
      return false;
      } else {

        $(".ui-page-active").animate({
            marginLeft: "0px",
      }, 300, function(){menuStatus = false});
        return false;
      }
});

// Menu behaviour
$("#menu li a").click(function(){
    var p = $(this).parent();
    if($(p).hasClass('active')){
        $("#menu li").removeClass('active');
    } else {
        $("#menu li").removeClass('active');
        $(p).addClass('active');
    }
});
}); 
4

1 回答 1

0

您可以覆盖$.event.special.swipe.horizontalDistanceThreshold更大的值并防止页面上的滑动触发滑动事件。

请参阅触摸事件 -> 滑动

于 2012-11-30T08:19:26.563 回答