js.erb Ruby on Rails中的Rendering Partial之后,Assets中的Javascript

Javascript in Assets not working after Rendering Partial in js.erb Ruby on Rails

本文关键字:中的 之后 Assets Javascript Partial Rendering Ruby on Rails js erb      更新时间:2023-09-26

以前也问过类似于我的问题,但这里的场景有点不同——我有一个js.erb文件,在其中我使用(private_pub)发布,类似于下面的分部

<% publish_to "/conversation/update_waiter" do %>
   $("#online_waiters").replace_html('<%= j(render :partial => "/restaurants/online_waiters")%>');     
<% end %>

部分被成功地呈现在所有用户墙上,并且没有生成额外的或重复的CCD_。但在click上,函数(在新渲染的部分中是anchor)停止工作。而它的功能是在/assets/js中定义的。现在,在向用户显示该部分后,如果我刷新页面,那么由于我的cookie而显示的相同部分也可以正常工作。任何帮助或想法都将不胜感激

将click处理程序附加到生成元素的父元素,它将处理从部分生成的所有元素。

假设您有一个类为contentdiv,其中包含您所有的html。

$(".content").on("click", "#anchor_one", function(e) {
  console.log("Working!");
});

或将其连接到document

$(document).on("click", "#anchor_one", function(e) {
  console.log("Working!");
});

另一个解决方案是在js.erb文件中添加处理程序。