Rails Jquery没有'不要在其他页面上工作
Rails Jquery doesn't work on other pages
我相信jQuery在您刚刚安装的页面之外的其他页面上不起作用。例如,当我键入localhost:3000/时,在"/"目录中,所有jQuery都可以工作。但是当我点击Rails创建的链接作为时
<%= link_to "Example Link", news_path %>
页面加载正确,但jQuery不起作用。我的jQuery代码如下所述:
$(function() {
console.log( "pageloaded" );
....
$('.up').click(function(){
.....
});
});
在Rails 4中,默认情况下turbolinks
处于活动状态
这意味着,当您加载新页面时,$(document).ready()
不会被执行。
CCD_ 3激发一个新的事件CCD_。您可以使用它来运行您的javascript代码:
$(document).on('page:load', your_start_function);
在涡轮连杆上铸造了一个出色的导轨
https://github.com/kossnocorp/jquery.turbolinks
这个gem将jQuery.ready函数与Turbolinks侦听事件页面:load绑定,因此,如果您使用带有Rails 4 的Turbolinks
gem 'jquery-rails'
(如果使用bundler,则捆绑安装)
完成后,您需要在application.js
文件中要求它:
//= require jquery
最后,您需要确保application.js
文件是作为应用程序模板的一部分加载的。在application.html.erb
中,您应该具有以下内容:
<%= javascript_include_tag "application" %>
我相信,在Rails安装中,这些都是默认的,所以如果你删除了这些设置中的任何一个,你需要将它们添加回来才能正常工作。
相关文章:
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- 地理定位在Jsfidle中工作,但不在任何其他JS编辑器中
- 用户名输入如果其他块不能正常工作/Javascript-jQuery-AJAX
- 如何隐藏空<span>在IE中使用javascript.(注意,在其他浏览器中工作正常)
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- 无法从IE中的data.responseText获取结果,但在其他浏览器中工作
- 安排工作在触发其他操作后进行
- 为什么只有最新的按钮才能工作?我发现其他按钮的点击函数为空
- IE11:indexOf()不在一个页面上工作,但在其他页面上工作
- 索引在IE中导致错误;在其他浏览器中工作
- jQuery和其他从工作的jsfiddle复制到本地env时未运行的JS
- 淡入、滑入和其他需要显示的功能:无无法正常工作
- jQuery don'当元素被其他元素检索时,它不能正常工作
- jquery惰性加载和其他jquery/javascript函数;追加后无法工作
- DomElement.click() 事件在 chrome 中不起作用,但其他事件可以工作
- JavaScript 按钮不起作用;代码与其他工作按钮相同
- 将值传递给其他工作表
- JQuery滑动条不可见,但其他工作