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