[英]Rails 4: Partial can't use javascript after being rendered (with ajax)
我正在使用CoffeeScript执行Ajax请求,然后从我的控制器渲染部分,但之后部分已经渲染,它不能使用我以前的Javascript。
例:
最后我的home_controller
动作我有:
respond_to do |format|
format.html { render partial: 'frame' }
end
在我的home.js.coffee
:
$('#plouf').click ->
alert('test')
然后在我的部分_frame.html.erb
(在views文件夹的主文件夹中)
<span id="plouf">test<span>
如果我点击这个跨度,没有任何反应......
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
但是如果我在我的部分中添加这一行它可以工作,但我知道它很难看,因为我已经在我的application.html.erb
做了它
我错过了什么,或者部分不能使用任何以前的Javascript是正常的吗?
在浏览器运行javascript之前,将部分编译到视图中。
你需要的是什么
$(document).on 'click', '#plouf', ->
alert('test')
这会将事件绑定到文档,因此当turbolinks或ajax重新加载HTML时,您的事件处理程序仍处于活动状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.