绑定到 turbolinks 页面加载的概念

使用 turbolinks,传统的使用方法:

$(document).ready(function() {
  // awesome code
});

不行。使用 turbolink 时,$(document).ready() 事件只会触发一次:在初始页面加载时。从那时起,每当用户点击你网站上的链接时,turbolinks 将拦截链接点击事件并发出 ajax 请求以替换<body>标记并合并<head>标记。整个过程触发了在 turbolinks 土地上访问的概念。因此,你不必使用上面的传统 document.ready() 语法,而是必须绑定到 turbolink 的访问事件,如下所示:

// pure js
document.addEventListener("turbolinks:load", function() {
  // awesome code
});

// jQuery
$(document).on('turbolinks:load', function() {
  // your code
});