我之前会问过类似于我的问题,但这里的情况略有不同 - 我有一个js.erb
文件,其中我使用(private_pub
)发布部分如下
<% publish_to "/conversation/update_waiter" do %>
$("#online_waiters").replace_html('<%= j(render :partial => "/restaurants/online_waiters")%>');
<% end %>
部分在所有用户墙上成功呈现,不会生成额外或重复的div
。但是在click
函数(在新渲染的部分中是anchor
)停止工作。虽然它的功能在/ assets / js中定义。现在,如果我刷新页面显示部分用户,那么由于我的cookie显示的相同部分工作正常。任何帮助或想法将不胜感激
答案 0 :(得分:6)
将点击处理程序附加到生成元素的父元素,它将适用于部分所有生成的元素。
假设您有一个div
的课程content
,其中包含您的所有HTML。
$(".content").on("click", "#anchor_one", function(e) {
console.log("Working!");
});
或将其附加到document
$(document).on("click", "#anchor_one", function(e) {
console.log("Working!");
});
另一种解决方案是在js.erb
文件中添加处理程序。