14

Webkit ブラウザーのタッチ イベント処理による 300 ミリ秒の遅延を解消するために、いくつかの方法を試しました。ライブラリ FastClick.js が推奨される方法のようですが、実装に少し問題があります。それを含めてイベントリスナーも追加しましたが、リスナーを正しく追加したかどうかわかりません。これはうまくいくはずですか、それとも私は何かをしていませんか? ありがとうございました!

以下のコードを考えてみましょう。

<!DOCTYPE html>
<html>
<head>
    <title>
        Calculator
    </title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-   scale=1.0, user-scalable=no;">
    <meta charset="utf-8">
    <script type="text/javascript" charset="utf-8" src="phonegap.js">
    </script>
    <<script type='application/javascript' src='js/fastclick.js'></script>
    <script type="text/javascript">

    function onBodyLoad()
    {       
        document.addEventListener("deviceready", onDeviceReady, false);
         $(function() {
         FastClick.attach(document.body);
         });

    }

    function onDeviceReady()
    {


    }
    </script>
    <script>
                window.addEventListener('load', function() {
                new FastClick(document.body);
                }, false);
    </script>

    <link rel="stylesheet" href="./css/jquerymobile.css" type="text/css">
    <link rel="stylesheet" href="./css/jquerymobile.nativedroid.css" type="text/css">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">   
</head>

<body onload="onBodyLoad()">
    <!--START OF PAGE 1-->
    <div data-role="page" data-theme='b' id="one">
        <div data-role="content">
              <a href="#one" data-transition="none" data-
        </div>
    </div>
</body>

4

3 に答える 3

17

以下のコードで試してみてください。

function onBodyLoad()
{       
    document.addEventListener("deviceready", onDeviceReady, false);

}

function onDeviceReady()
{
  alert('test');
  FastClick.attach(document.body);
}

すべて問題なければ、アラート ボックスが表示されるはずです。

http://phonegap-tips.com/articles/fast-touch-event-handling-eliminate-click-delay.htmlをご覧ください。

于 2013-11-08T12:08:11.273 に答える
0

vclickjQuery Mobile の組み込みイベントを使用する必要があります- FastClick と同じ考え方です。

$(document).on('vclick', '#someButton', function(){ 

});

出典: jQuery Mobile で FastClick を正しく使用するには?

于 2015-02-13T20:20:49.230 に答える
0

別の解決策を考えることもできます..注:私は個人的にこれを試していません..

$(document).on('pageinit', '.ui-page', function (event, data)
{
   FastClick.attach(activePage);
});
于 2013-11-08T12:12:45.480 に答える