replaceWith
DOMの1つを取り出す要素がある場合は、replaceWith
に戻ってそれに登録されたイベントは起動しません。私は無傷のままにするためにイベントが必要です。デモでreplaceWith後にイベントが登録されていません
var replacement = $(document.createElement('span'));
var original = $(this).replaceWith(replacement);
replacement
.css('background-color', 'green')
.text('replacement for ' + $(this).text())
.click(function() {
replacement.replaceWith(original);
});
、あなたが要素をクリックしたとき、それは別の要素がreplaceWith
を使用してに置き換えられます。
は、ここに私のJavascriptです。新しい要素をクリックすると、replaceWith
を使用して元の要素に置き換えられます。しかし、クリックハンドラはそれ以上は動作しません(私はそれがすべきだと思う)。
イベントの再接続が終了したのですか、またはライブイベントが動作するようになりましたか?私はまったく同じことをしており、あなたの経験から学ぶことが大好きです。 –
@エリックT、申し訳ありませんが、正直言って覚えていません。私はこの質問をほぼ2年前に聞いた。セレクタではなく、実際の要素を扱っていたので、 '$ .fn.live'を使ってもうまくいきませんでした。 ( '$ .fen.delegate'(存在しなかったもの)は、' live'の代わりとしてあなたのために働くかもしれません。)私が選択した答えのため、私はイベントハンドラを再接続することになったと仮定します。要素を深くクローンすることもできます(IIRCは最新のjQueryでイベントハンドラを保持する可能性があります)。 – strager