繫結到 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
});