[英]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()
不會被執行。
turbolink
觸發一個新的事件page:load
。 您可以使用它來運行您的JavaScript代碼:
$(document).on('page:load', your_start_function);
在turbolinks上有一個優秀的軌道
https://github.com/kossnocorp/jquery.turbolinks
這個gem將jQuery.ready函數綁定到Turbolinks監聽事件頁面:load,因此如果你使用Turbolinks和Rails 4,那么解決方案應該會被解決
您需要在Gemfile中使用gem'jquery gem 'jquery-rails'
(如果您使用的是Bundler,則需要捆綁安裝)
完成后,您需要在application.js
文件中要求它:
//= require jquery
最后,您需要確保將application.js
文件作為應用程序模板的一部分加載。 在application.html.erb
您應該具有以下內容:
<%= javascript_include_tag "application" %>
我相信在Rails安裝中默認情況下就是這樣,所以如果您已經刪除了這些設置中的任何一個,則需要將它們添加回來以使其正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.