jQuery on()バインドが無効な解決策

1079 ワード

on()メソッドは、選択された要素およびサブ要素に1つ以上のイベントハンドラを追加する.
jQueryバージョン1.7以降、on()メソッドはbind()、live()およびdelegate()メソッドの新しい代替品である.公式サイトでは、jQueryコードライブラリを簡素化する方法も推奨されています.

構文


$(selector).on(event,childSelector,data,function,map)
パラメータ
説明
event
必要です.選択した要素から削除する1つ以上のイベントまたはネーミングスペースを指定します.複数のイベント値をスペースで区切ります.有効なイベントでなければなりません.
childSelector
オプション.指定したサブエレメントにのみ追加できるイベントハンドラ(セレクタ自体ではなく、廃棄されたdelegate()メソッドなど)を指定します.
data
オプション.関数に渡される追加データを指定します.
function
オプション.イベントが発生したときに実行される関数を指定します.
map
イベントマッピング({event:function,event:function,...})を指定し、要素に追加する1つ以上のイベントと、イベントが発生したときに実行される関数が含まれます.
最近仕事中にon()の使用が無効になった場合.ページをロードするときに、選択された要素やサブ要素がすでに存在する場合は、通常使用できます.書き方は以下のようになります.
$(".test").on("click",function(){
    alert("   ");
});

選択された要素およびサブ要素がページをロードするときに存在せず、関数によって生成される場合に問題があります.上記のように書くと、どんなイベントもon()でバインドできません.
解決策は次のとおりです.
$(document).on("click",".test",function(){//        
    alert("         !");
});