簡體   English   中英

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()不會被執行。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM