0

ある場所から別の場所にdivコンテンツをコピーしようとしています。これには、次のようなものを使用しています。

$('#newDiv').html($('#oldDiv').html());

問題は、一部の子要素に、bind()jqueryメソッドを使用してアタッチされたイベントがあることです。それらのイベントも新しい場所にコピーしたいと思います。

この「イベントコピー」を行う方法について何かアイデアはありますか?

4

2 に答える 2

2

説明

コンテンツをコピーした瞬間に動的コンテンツを作成します。

イベントを動的に作成されたhtmlにバインドするには、jQuery.live()またはメソッドが必要です。delegate()

使用しているjQueryのバージョンに応じて選択し.live()ます。delegate()

.live()jQuery1.3以降で使用可能です。現在および将来、現在のセレクターに一致するすべての要素にイベントハンドラーをアタッチします。

.delegate()jQuery1.4.2以降で使用可能です。ルート要素の特定のセットに基づいて、現在または将来、セレクターに一致するすべての要素の1つ以上のイベントにハンドラーをアタッチします。

私のサンプルとこのjsFiddleデモンストレーションをチェックしてください

サンプル

<div id="newDiv"></div>
<div id="oldDiv"><a>click me</a></div>​

​$("a").live("click",function() {
   alert("click"); 
});​
    
// copy content
$('#newDiv').html($('#oldDiv').html());

</ p>

詳しくは

于 2012-04-20T13:38:47.853 に答える
0

jquery Cloneメソッドを使用する場合は、イベントを保持するかどうかを指定するパラメーターを設定できます...チェックアウト:http ://api.jquery.com/clone/

それはうまくいくはずです。

于 2012-04-20T13:39:25.137 に答える