2013-02-14 18 views
0

我查過了,但是找不到解決這個問題的方法。出於某種原因,函數在頁面首次加載時纔會被調用,只有刷新頁面後纔會調用。例子:爲什麼只有在刷新後才能在第一次加載頁面時調用函數?

function init() { 

    alert("hello"); 
} 

要麼調用函數與下面的方法:

$(window).load(function() { 

    init(); 

}); 

或身體標記內:

<body onLoad="init()"> 

此外,當我直接打開網頁不會發生此問題,只有當我從另一個頁面鏈接到頁面時。

+0

您是否收到任何錯誤消息? – Undefined 2013-02-14 11:32:34

+0

@Sam無法解釋刷新後爲什麼_does_執行。 – 11684 2013-02-14 11:33:23

+0

不,我沒有收到任何錯誤。 – Stybos 2013-02-14 11:33:30

回答

0

解決,移動選項必須加載jQuery的前設置。移動。

<script language=javascript> 
    $(document).bind("mobileinit", function() { 
     $.mobile.ajaxLinksEnabled = false; 
     $.mobile.ajaxEnabled = false; 
    }); 
</script> 
<script src="scripts/jquery.mobile-1.2.0.js"></script> 
-1

嘗試在東西線:

function init() { 
    alert('Hello!'); 
} 

window.onload(function() { 
    init(); 
} 
+0

這相當於原始(非功能)代碼。 – JJJ 2013-02-14 11:38:22

+0

@Juhana我同意你的觀點,儘管我想補充說它可能是一個jQuery bug,在這種情況下,這可能與OP的代碼有所不同。 (但我不認爲這是一個jQuery bug。) – 11684 2013-02-14 11:39:54

-2

我不知道你想做什麼,但嘗試:

$(document).ready(function() { 
    init(); 
}); 
+1

這並不重要,你的方法只能確保DOM被加載。 – 11684 2013-02-14 11:37:00

+0

就是這一點。 – Gcko 2013-02-14 11:40:01

+0

您不需要爲'alert()'工作加載DOM。 – JJJ 2013-02-14 11:42:25

相關問題