2

之前问过类似于我的问题,但这里的场景有点不同 - 我有一个js.erb文件,我在其中使用(private_pub)像下面在Assets中JavaScript不能在js.erb中部分渲染之后工作Ruby on Rails

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

部分对所有用户的墙壁呈现成功并没有多余的或重复div s的产生。但在click函数(这是在新渲染的部分anchor)停止工作。其功能在/ assets/js中定义。现在,如果我刷新页面后显示部分用户,那么显示由于我的Cookie相同的部分,工作正常。任何帮助或想法,将不胜感激

回答

4

将点击处理程序附加到生成的元素的父元素,它将工作在部分的所有生成的元素。

假设你有一个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文件中的处理程序。

+1

今天我意识到没有核心JS知识的Backend开发会让你失望。感谢他帮助 – ImranNaqvi