3

(2日間これで問題がなかったので...)

複数ページのレイアウトがあり、ページの 1 つで次のような構造になっています。

<div id="view_offer" data-role="page">
        <div data-role="header">
            <h1>Edit Offer</h1>
        </div>
        <div data-role="content">
            <p><label><input id="auto_renew" type="checkbox" name="checkbox-0">Auto renew?</label></p>
        </div>
    </div>

body タグを閉じる前に、次のスクリプトを (この順序で) 使用します。

    <script src="js/cordova-2.5.0.js"></script>
    <script src="js/jquery-1.8.2.min.js"></script>
    <script src="js/jquery.mobile-1.3.0.min.js"></script>
    <script src="js/home_m_scripts.js"></script>

私のhome_m_scripts.jsファイル:

$("#auto_renew").change(function(){
    alert("Changed!");
});

私の変更イベントはトリガーされませんが、ここで途方に暮れています。

4

1 に答える 1

12

コードを次から変更します。

$("#auto_renew").change(function(){
    alert("Changed!");
});

に:

$(document).on('change','#auto_renew',function(){ 
    alert("Changed!"); 
});

このようにイベントをバインドすると、イベント委任として機能します。このバインディングを実行するとき、基本的にオブジェクトは DOM に存在する必要はありません。

于 2013-04-11T12:17:20.487 に答える