on()を使用すると、動的要素にイベントを関連付けることができます。実際に意図したターゲット要素を 2 次パラメーターとして指定して、最も近い静的要素 (またはドキュメント) にバインドします。
$("document").off("click", ".super-button").on("click", ".super-button", function(){
/// Do some awesome functionality
});
off()
コードはワイヤーアップ コードのみを実行するように設計する必要があるため、理論的には必要ありません。
for delegationのバージョンを使用してイベントのアタッチを実行するon()
と、指定されたセレクターに一致する将来の要素には、期待どおりにイベントがアタッチされます。
デモ- 動的に追加された要素へのイベントの添付
DEMO には次の HTML があります。
<button id="addElement" type="button">Add a dynamic element</button>
<div id="container">
<div class="someElement">Some Element - click me<div>
</div>
そしてスクリプト:
$("#container").on("click", ".someElement", function(){
alert("I have been clicked");
});
$("#addElement").on("click", function() {
$('<div class="someElement">Another Element - click me too<div>').appendTo($("#container"));
});