jQueryとjQueryMobileを使用するPhonegapアプリがあります。
一部のページでは、関数をtapイベントにバインドしましたが、ページが読み込まれると関数がトリガーされます。少しデバッグした後(を使用してarguments.callee.caller.caller.toString())、なんらかの奇妙な理由で、ページが読み込まれたときにそのボタンでクリックイベントがトリガーされていることを発見しました。
フッターのクラスを変更すると、問題はなくなり(スタイルも)、CSSファイルのクラス参照を新しいフッタークラスに一致するように変更すると、問題が再発しました。これは非常に奇妙です、多分それは私のCSSに何かを持っています。
"footer_body"私のプロジェクトには他に言及はありません。
関数呼び出しをHTML(のようなもの<span onClick="javascript:obj.leftMethod()">)に直接設定した場合、同じ動作をします。
確かに、これはPhonegap / Androidの問題です。これは、PCブラウザーでは発生しないためです(モバイルでのみ機能する多くのコードにコメントする必要があることを除けば)。
コードは次のとおりです。
HTML:
<div class="footer_body">
   <span class="left"><span>Text 1</span></span>
   <span class="right"><span>Text 2</span></span>
</div>
JS / jQuery:
function PageClass() {
...
    // called when the page is loaded
    this.init = function() {
        $(".footer_body", "#page_2").find(".left").unbind("tap").bind("tap", function() {
            that.leftMethod();
        });
        $(".footer_body", "#page_2").find(".right").unbind("tap").bind("tap", function() {
            that.rightMethod();
        });
        // that is a reference to "this" of the class
    }
}