2011-01-22 3 views
0

クラスにスパンを追加しましたが、.clickはトリガしません。スパンクラスコードクラスの追加時に.clickがトリガされない - jQueryの使用

var TA = '<span class="TS" id="'+$('#TT').attr('value')+'" style=" color:#fff; margin-left:5px; font-family:arial; font-size:12px">* '+$('#TT').attr('value')+'</span>'; 
$('#QLT').append(TA); 

を追加

これは、のdiv .TXにスパン.TSを追加します。 .clickを使用して.TSをトリガーしたいのですが、コード

$('.TS').click(function() { 
    alert("ok"); 

    }); 

これはトリガーしません。何が間違っている、すべての援助を感謝します。

おかげ ジャン

+0

要素がページに追加された後でハンドラがバインドされていることを確認してください。また、live()(http://api.jquery.com/live)を使用して、イベントをDOMにまだない要素にバインドすることもできます。 – Matt

+0

私たちはただ手で問題に集中できますか...私はそれに解決策が必要です。 - ありがとう – X10nD

答えて

4

は、あなたはおそらく、あなたが$('#QLT').append(TA)をした前にクリックハンドラを定義しました。したがって、クリックハンドラは、バインドされたときに、クラス.TSを持つ新しい要素について認識しませんでした。

あなたはそれを手動で再結合し、またはクラスTSと新しい要素がDOMに挿入されたときに自動的に結合するjQueryのクールlive機能、使用することができます:たぶん

$('.TS').live('click', function() { 
    alert("ok"); 
    }); 
関連する問題