web-dev-qa-db-ja.com

jQuery-「live()」の代わりに「on()」メソッドを使用する方法は?

生成されたページとフレームにlive()を使用しました。ただし、_jQuery 1.9_では、この関数は非推奨であり、機能しません。

on()の代わりにlive()を使用しますが、このメソッドは一度だけ機能し、フレームでは機能しません。

私のコードは次のようになります。

_  $("#element").live('click',function(){
    $("#my").html(result);
   });
_

解決策は何ですか?

26
Morteza
_$('body').on('click', '#element', function(){
    $("#my").html(result);
});
_

クリックされた要素セレクターは.on()関数パラメーターを介して渡されるため、以前のセレクターは最も近い親セレクター(できればID)に置き換える必要があります。使用する親セレクターがわからない場合は、bodyも機能しますが、効率は低下します。

既存のコードを移行する方法については、 jQuery 1.9 .live()は関数ではありません を参照してください。

72
Samuel Liew