我在我当前的项目中使用RJS。
我有数据表行和最后一列包含一个按钮,绑定javascript click
函数。
现在我必须执行AJAX并将新创建的行附加到表中。它工作得很好。这是create.rjs
模板文件。
page.insert_html(:bottom, "products", :partial => "product_row.html.erb", :locals => {:product => @product})
JS代码:
jQuery(document).ready(function(){
jQuery("button.add_color").click(function(){
alert('ok');
});
});
一切工作正常,除了javascript click
事件不为新创建的行工作。
请帮助如何保持绑定javascript事件的新添加的DOM由AJAX?
我认为你应该使用jQuery的.delegate
方法:
jQuery(document).ready(function(){
jQuery('body').delegate('button.add_color', click, function(){
alert('ok');
});
});
来自delegate
的文档:
根据一组特定的根元素,为现在或将来匹配选择器的所有元素附加一个或多个事件处理程序。