2011-10-25 18 views
0

私はfolowingコードを使用して生成されたdiv要素にonclickのイベントを追加したい:jQuery:動的生成divにonlickイベントを追加する方法は?

$("<div />").attr("city", $(this).attr("city")) 
      .attr("state", $(this).attr("state")) 
      .html($(this).attr("city") + ',' + $(this).attr("state")) 
      .appendTo($('#cityList')); 

は私が)(HTMLでonlickイベントを書くべきですか?

+0

からdelegateクリックイベントがなぜ(.bindすることはできません)、それを直接.appendto後の()? – mddw

答えて

2

divの作成と残りのコードの連鎖を分割してみませんか?たとえば、

var elem = $('<div />'); 
elem.click(function() { 
    // Click handler 
}); 

elem.attr("city", $(this).attr("city")) 
    .attr("state", $(this).attr("state")) 
    .html($(this).attr("city") + ',' + $(this).attr("state")) 
    .appendTo($('#cityList')); 
0

.live()関数を使用することをおすすめします。この関数を使用すると、あとで動的に追加される要素にイベントをバインドすることができます。

http://api.jquery.com/live/

関連する問題