我正在使用Rails 4
并想使用内置的Turbolink
gem。我对它所做的一切都很满意,除了我希望它在每个页面请求时重新加载其中一个 js 文件。
换句话说,我想要一个特定的 js 文件来忽略 turbolinks,我该怎么做?
我正在使用Rails 4
并想使用内置的Turbolink
gem。我对它所做的一切都很满意,除了我希望它在每个页面请求时重新加载其中一个 js 文件。
换句话说,我想要一个特定的 js 文件来忽略 turbolinks,我该怎么做?
您可以使用 turbolinks 中的 'page:load' 事件将初始化函数连接到它。当 turbolinks 完全重新加载您的新页面时,它将始终被调用。
function initialize() {
//js code what you want run always
}
$(document).ready(initialize);
$(document).on('page:load', initialize);
如果你经常使用 jQuery,安装在 Gemfile 中会很有用
gem 'jquery-turbolinks'
和你的 application.js
//= require jquery
//= require jquery.turbolinks
Turbolinks 还有两个有用的事件:
page:fetch //when new page begin to download
page:change //when the page has changed over