これは私のjqueryコードです:
$(function(){
$.post("/person/keywords/get/", function(data){
for(i=0; i<data.length; i++)
{
count = count + 1;
$(".keywords-set").append('<div class="keyword-item"><span class="keyword" id="keyword-'+count+'">'+data[i]+'</span><textarea class="comment" id="comment-'+count+'"></textarea></div>');
}
});
$(".keyword-sets").on('click', "[id^=keyword]", function(event) {
event.preventDefault();
alert("yes");
});
})
ページの読み込み時に、サーバーからいくつかのデータをフェッチして、それをhtmlに追加します。クリックイベントは、追加されたhtmlアイテムでは機能しません。.post()リクエストによってサーバーから取得したすべてのアイテムでこの問題が発生します。
これが私の完全なHTMLとjQueryコードです:
https://gist.github.com/3023937
もう1つ、問題はhtml内で(外部ファイルとしてではなく)jQueryコードを使用することで発生すると思います。別のプロジェクトでこのようなタイプのコードを使用していますが、外部ファイルにjqueryコードがあり、問題なく機能します。なんでそうなの?
PSさらに詳しい情報が必要な場合は、お知らせします。
ありがとう!