1

id 要素内の span 要素をコピーしたいtest.clone正常に動作していることはわかっていますが.html、このように使用すると.click機能しません。間違えたところ。.html() のみを使用してこれにアプローチするにはどうすればよいですか

HTML :

<div id="test">
    <span class="new">hi</span>    
</div>

<div id="test1"></div>

脚本 :

function testtt (){

    $('#test').on('click','.new',function(){

        alert('hi');

    });

    var rr  = $('#test').html();

    $('#test').append(rr);

}    
testtt();

フィドルのコード

4

3 に答える 3

3

あなたの質問に対する私の理解は、コピーされたスパン要素にクリックハンドラーを適用したいということです。

次のように、複製された要素をカバーするために、クリック イベントのスコープを変更する必要があります。

HTML:

<div id="test" class="clickable">
    <span class="new">hi</span> 
</div>
<div id="test1" class="clickable"></div>

JS:

$('div.clickable').on('click','.new',function(){
    alert('hi');    
});
于 2013-10-11T10:21:42.837 に答える
2

機能しない理由は、要素を別のセレクター ( ) に複製しているが、クリック イベントをリッスンすること#test1だけを見ているためです。#test

これは私がそれを行う方法です:http: //jsfiddle.net/ChubbyNinja/6fv4A/1/(2つのIDを使用)

またはhttp://jsfiddle.net/ChubbyNinja/6fv4A/3/クラスを複数回使用できるため、クラスをセレクターとして使用します..

于 2013-10-11T10:18:49.627 に答える
0

その html をコピーすることは、それを複製することと同じではありません。リスナーを適用するときは、具体性を低くすることができます。

 $('body').on('click','.new',function(){...

http://jsfiddle.net/6fv4A/4/

于 2013-10-11T10:20:02.230 に答える