たとえば、次のようなものがあります。
$first = $('#firstElement').click(function() { });
しかし、ページの実行のある時点で、その要素を別の要素に置き換えます。
$newElement = jQuery('<div />');
$first.replaceWith($newElement);
しかし、最初の要素のコールバックを2番目に保持したい...
それは可能ですか?
編集1
.on()
またはでそれを行う方法はすでに知っています.delegate()
。これは私のシナリオです:
セレクターが変更されたら何かをロードする必要がありますが、そのセレクターの内容は、ログインしているユーザーの役割によって異なります。にすでに情報が保存されていlocalstorage
ます。そのセレクターのコンテンツは、次の方法でロードされます。
window.Core.setBranchesSelector($('#theElementInWhichTheSelectorWillBe'));
その関数は<select>
要素を作成します。js
そのページ内で作成できます:
$('#parent').on('click', '#theElementInWhichTheSelectorWillBe', function() {});
しかし、私はその機能を可能な限り柔軟にしたかったので、次のように考えてみると:
$elementToBeReplaced = $('<coolElement />').click(function() {});
/* Something really cool with that element */
Core.setBranchesSelector($elementToBeReplaced);
セレクターはイベントのコールバックを継承しますclick
...