jquery .click()事件不起作用

时间:2012-06-30 14:29:51

标签: javascript jquery

这是我的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。 click事件不适用于附加的html项目。我通过.post()请求从服务器获得的所有项目都遇到了这个问题。

这是我的完整HTML和jQuery代码:

https://gist.github.com/3023937

还有一件事,我认为问题出现在使用html内部的jQuery代码的bcoz(而不是外部文件)。我在另一个项目中有类似的代码类型,我在外部文件中有jquery代码,它没有任何问题。为什么会这样?

P.S。如果您需要更多细节,我可以给您。

谢谢!

1 个答案:

答案 0 :(得分:6)

此代码:

$(".keyword-sets")

说“设置”复数,但我没有在其他任何地方看到这个符号。也许你的意思是:

$(".keyword-set").on("click", ...

编辑 - oops“.keywords-set”...