笔者一直使用jquery的click函数来绑定元素发生的click事件和处理函数,如下:
$("#new_data").click(function () {});
但今天在绑定一个由ajax请求生成的table时,发现click没有响应,查阅文档后发现,这是由于click()只能绑定开始加载的DOM元素。
搜索后发现有人用live()解决新文档元素绑定:
$("tr.book_list").live("click", function () {});
但在jquery1.9以后已经不支持这一方法。使用on方法来替代。
on方法可以接受三个参数:事件名、触发选择器、事件函数。
需要特别注意的是:on方法中间的这个触发选择器就是你将要添加的HTML元素的类名、id或者元素名,使用它就可以实现live的效果。
$("#show_data").on("click",".book_list", function () {});