使用turbolink插件加载javascript

时间:2014-04-03 12:58:39

标签: javascript jquery ruby-on-rails

我知道有jQuery-turbolinks。但无论如何都要使用jQuery和JS与turbolink。

https://github.com/rails/turbolinks

Turbolinks页面会在没有完全重新加载的情况下发生变化,因此您无法依靠DOMContentLoadedjQuery.ready()来触发您的代码。相反,Turbolinks会在文档上触发事件,以便为页面的生命周期提供挂钩。

我有这段代码,但是没有将navigating加载到其他网址。

$(function() {
  return $('.status').hover(function(event) {
    return $(this).toggleClass("hover");
  });
});

3 个答案:

答案 0 :(得分:2)

您可以执行以下操作在两个页面上运行您的javascript:加载并准备就绪。

$(document).on('page:load ready', function() {
    ...
});

答案 1 :(得分:1)

尝试一下;)

var ready;
ready = function() {
  $(function() {
    return $('.status').hover(function(event) {
      return $(this).toggleClass("hover");
    });
  });
};
$(document).ready(ready);
$(document).on('page:load', ready);

答案 2 :(得分:0)

此文档说明如何:https://github.com/turbolinks/turbolinks

document.addEventListener("turbolinks:load", function() {
      // ... Your code here!
    })