我在当前项目中使用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
事件不适用于新创建的行。
请帮助我们如何通过AJAX保持为新添加的DOM绑定javascript事件?
答案 0 :(得分:1)
我认为你应该使用jQuery' .delegate
method:
jQuery(document).ready(function(){
jQuery('body').delegate('button.add_color', click, function(){
alert('ok');
});
});
来自delegate
的文档:
根据一组特定的根元素,为现在或 future 中与选择器匹配的所有元素的一个或多个事件附加一个处理程序。