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 に答える