绑定到 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
});