2012-02-21 27 views
3

私はAndroidのタッチイベントをシミュレートするのにこの素晴らしいコードを使用していますhttp://pervasivecode.blogspot.co.nz/2011/11/android-phonegap-active-css-pseudo.html。素晴らしい作品ですが、あまりにも敏感です。たとえば、リストを持っていて、リンク上にあるものをタッチしたときにスクロールして、ハイライト表示したい場合などです。タッチスタートが敏感すぎる

$(document).ready(function(){ 
if (navigator.userAgent.toLowerCase().indexOf("android") > -1) { 
$('a') 
.bind("touchstart", function() { 
    $(this).addClass("fake-active"); 

     }) 
.bind("touchend", function() { 
    $(this).removeClass("fake-active"); 
    }); 
} 
    }); 

クラスの変更を遅らせることができますか、それとも別のトリガーを使用できますか?

答えて

1

スクロールするときにリンクをアクティブにしないようにするには、クラスの変更をトリガし、スクロールがある場合はそれを確認することができます。このようなもの...

if (navigator.userAgent.toLowerCase().indexOf("android") > -1){ 

    var scroll = 0; 
    $('a').on("touchstart",function(){ 
     $('a').removeClass("fake-active"); 
    }).on("touchend",function(){ 
     if(scroll == 0){ 
      $(this).addClass("fake-active"); 
     } 
     scroll = 0; //Ideally should be set when scrolling is finished 
    }); 

    $('ELEMENT-THAT-IS-SCROLLING').scroll(function(){ 
    scroll = 1; 
    }); 

} 
関連する問題