1. ホーム
  2. jquery

[解決済み] jQuery .live が非推奨のため、future 要素の .on 関数を使用する [重複] 。

2022-04-21 03:02:31

質問

のハンドラを追加する必要があります。 click イベント <div> 要素で、まだ存在しないものです。 通常、私はjQueryの .live 関数で処理することができますが、現在では非推奨となっています。 .on .

を使用するには .on メソッドを使用する場合、jQuery ではセレクタパラメータを設定して委譲されたイベントを作成することを提案しています。

$("#dataTable tbody").on("click", "tr", function(event){
    alert($(this).text());
});

しかし、最初のセレクタに何を入れればいいのでしょうか。 #dataTable tbody ? ただし $.on() は機能しません。

解決方法は?

jQueryのドキュメントでは、次のように置き換えることになっています。

$(selector).live(event, handler) 

$(document).on(event, selector, handler)

また、より正確には、以下のように置き換えることもできます。 $(document) を、要素の静的な親に対するセレクタに置き換えます。 たとえば、静的な table 要素と tr 要素が DOM に動的に追加される場合、次のようにすることができます。 $('table#id').on('click', 'tr', ...)

http://api.jquery.com/live/