这个问题来自
实际上,我能够找到线索,这就是我发现的。我有一个js文件:
$(document).ready(function() {
var myIdElement = $("#some_id");
//............
$.ajax({
url: getFullUrl(myIdElement.val())
})
//..........
因此,当我通过链接(html链接)从另一个页面访问此页面时,myIdElement
为undefined
。但是,当我重新加载页面时,它开始具有适当的值。我使用turbolinks。
如何让它在所有情况下都能正常工作?
答案 0 :(得分:1)
$(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);
答案 1 :(得分:0)
试试这个:
(function($) {
$(document).ready(function() {
var myIdElement = $("#some_id");
//............
$.ajax({
url: getFullUrl(myIdElement.val())
})
//..........
})(jQuery);