2010-12-08 17 views

答えて

1

あなたはlive()方法を使用することもできます。「現在に一致するすべての要素のイベントにハンドラをアタッチします(ライブ定義により

$(".up,.down").live('click',function(){ 
    var row = $(this).parents("tr:first"); 
    if ($(this).is(".up")) { 
     row.insertBefore(row.prev()); 
    } else { 
     row.insertAfter(row.next()); 
    } 
}); 

http://jsfiddle.net/TdsLj/3/

を)セレクター、今、将来。

+0

ありがとうございます。私は元のコードでクリックイベントを捕まえられないのですか?なぜ将来の要素からイベントをキャッチできないのですか?ありがとう! –

+0

ページがロードされた時点で、.upおよび.downリンクにはすべてハンドラがあるためです。 domに別の.upや.downを追加すると、ハンドラはありません。 live()を使用すると、既存の要素や将来の要素と一致します(将来の意味、あなたのようにdomに追加する)。希望が助けてくれる! – jyoseph

+0

ありがとう!良い説明。 –

関連する問題