javascript - rails 2 : RJS - Javascript events are not working when on page updates remotely

标签 javascript jquery ruby-on-rails ajax rjs

我在当前项目中使用 RJS。

我有包含数据的表格行,最后一列包含一个按钮,该按钮绑定(bind) 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 保持绑定(bind) javascript 事件?

最佳答案

我认为你应该使用 jQuery 的 .delegate method :

jQuery(document).ready(function(){
  jQuery('body').delegate('button.add_color', click, function(){
    alert('ok');
  });
});

来自delegate的文档:

Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements.

关于javascript - rails 2 : RJS - Javascript events are not working when on page updates remotely,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32594943/

相关文章:

javascript - 未捕获的语法错误 : Unexpected token - JSON character encoding

javascript - 使用javascript更改背景图片

jquery - 使用 jquery 在鼠标悬停/移出时隐藏/显示元素

jquery - 如何在 JQuery Mobile 中更改页面时传递参数?

javascript - jQueryUI 拖动的项目为第一个可放置后面的每个元素触发放置

ruby-on-rails - 如何完全删除 ruby​​gems 和 rails 等

javascript - 初始页面加载后在页面上显示动态项目

javascript - 为什么 data-url 设置后返回未定义?

ruby-on-rails - Rails 代理 Controller 未正确拉取图像,如何适当修改?

ruby-on-rails - 搜索如何使用 rails3 设置 mongo_mapper、设计、haml 的指南