关于jqury$.ajax返回后的页面

做一个图书管理系统添加书籍时用ajax返回页面成功,但是页面的onclick不能促发了。这是部分代码:
$("#submit").click(function(){
$.ajax({
type:"post",
url:"servlet/BookServlet?act=add",
data : $('#addForm').serialize(),
success : function(data){
$("#classBox").empty();
var books=eval("("+data+")");
$.each(books,function(k,v){
$("#classBox").append("

");
$("#classBox li:last").append("")
.append("
")
.append("
"+v.name+"
")
.append("
")
})
$("#classBox").append("")
}
});
})
当点击addBook按钮后。
$(function(){
$("#addBook").click(function(){
$("#MSPoP").show();
$("#maskPop").show();
});
})不能促发了。

[code="js"]
$(function() {
$("#addBook").click(function() {
$("#MSPoP").show();
$("#maskPop").show();
});
})

[/code]

这段代码,你该不会是在只页面初始化时执行一遍吧?

如果是,你需要做的是

1.把上述代码函数化,比如 initAddBook
2.在ajax的success : function(data){}中再次调用。

原因你可能也知道了,后面动态追加的新book,必须重新绑定click事件。

[code="java"]
$("#addBook").click(function(){
$("#MSPoP").show();
$("#maskPop").show();
});
//改成
$("#addBook").live('click',function(){
$("#MSPoP").show();
$("#maskPop").show();
});
//即可
[/code]