2013-02-14 89 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

相关问题