这个问题来自
实际上,我能够找到一个线索,这就是我所发现的。我有一个js文件:
$(document).ready(function() {
var myIdElement = $("#some_id");
//............
$.ajax({
url: getFullUrl(myIdElement.val())
})
//..........
因此,当我通过链接(html链接)从另一个页面进入此页面时,
myIdElement
是undefined
。但是,当我重新加载页面时,它开始具有适当的值。我使用turbolinks。如何使它在所有情况下都能正常工作?
最佳答案
$(document).ready
并不总是在turbolink
中触发。请使用page:load
事件。在第一页上,它触发ready
事件,但是在随后的页面上,document
一直是ready
,因此不会触发任何document ready
事件。因此,它会触发page:load
来帮助我们。
function ready () {
// Your code goes here...
}
jQuery(document).ready(ready);
jQuery(document).on('page:load', ready);