[英]An element in $(document).ready is undefined in a certain situation
這個問題來自
實際上,我能夠找到一個線索,這就是我所發現的。 我有一個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);
嘗試這個:
(function($) {
$(document).ready(function() {
var myIdElement = $("#some_id");
//............
$.ajax({
url: getFullUrl(myIdElement.val())
})
//..........
})(jQuery);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.