0

こんにちは、PhoneGap と JQM を使用した Android アプリの HTML 構造は次のとおりです。

<body>

<div data-role="page" id="screen">

</div>

<div data-role="page" id="config" data-theme="a">

</div>

</body>

#screen にタイム カウンターを表示し、#config ページにいくつかの構成を表示しています。#screen の任意の場所をタッチすると、カウンターが停止し、#config 画面が表示されます。「#config」には、クリックすると「START」ボタンがあり、#screen が再び表示され、カウンターが開始されます。

これを処理するために私は使用しています

$('#screen').bind('vmousedown', //code to show #config page);

$('#start_cycle').click(function(){
    $.mobile.changePage('#screen');
});

私の問題は、#start_cycle が表示される #screen のどこかに触れると、親指を持ち上げると $('#start_cycle').click 関数が実行されることです。

私の vmouseup イベントは、もう一度クリックするのを待たずに、スタート ボタンでクリック イベントを実行しているようです。

どうすればこれを防ぐことができますか。

4

1 に答える 1

0

私はこのソリューションを試していませんが、jQMがどのように機能するかについての理論だけで、

$('#screen').bind('vmousedown', function(e){
     e.preventDefault();
     //code to change the page to counter page.
     return false;
})

jQMによると、vの後には、タッチした同じ場所で300ミリ秒の遅延のあるクリックイベントが続きます。これが、手動でタイマーを開始せずにタイマーが開始される理由である可能性があります。上記が機能しない場合は、ネイティブjsメソッドを使用してタッチイベントをアタッチしてみてください。

于 2012-12-31T22:27:18.637 に答える