当前位置:  开发笔记 > 编程语言 > 正文

在js.erb Ruby on Rails中渲染部分后,资产中的Javascript无法正常工作

如何解决《在js.erbRubyonRails中渲染部分后,资产中的Javascript无法正常工作》经验,为你挑选了1个好方法。

之前问过与我类似的问题,但这里的情况有点不同 - 我有一个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显示的相同部分工作正常.任何帮助或想法将不胜感激



1> Oss..:

将单击处理程序附加到生成的元素的父元素,它将处理来自partials的所有生成元素.

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

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有