使用$ .mobile.changePage后,onload无法正常工作

时间:2013-11-21 08:25:54

标签: javascript jquery html jquery-mobile

我将使用代码

更改$ .mobile.changePage页面
 $.mobile.changePage("profile.html", { transition : "slide"},false);

topage profile.html代码

<html>
<head>
<script type="text/javascript">

function func()
{
document.getElementById("d").innerHTML="String"
}
</script>
</head>
 <body onload="func()">
<div id="d"></div>
</body>
</html>

javascript代码

function func()
{
document.getElementById("d").innerHTML="String"
}

不行,怎么解决?

2 个答案:

答案 0 :(得分:0)

如果您查看documentationreloadPage选项最初为false,这意味着不会重新加载该页面,因此当前文档的onload事件赢了“再被解雇。

要让您的正文onload事件再次发挥作用,您需要添加此选项并将其值设置为true

var options={
    transition: "slide",
    reloadPage: true
};
$.mobile.changePage("profile.html", options, false);

答案 1 :(得分:0)

jQuery Mobile使用Ajax加载页面。加载第一页时,会加载<html>内的所有标记和代码。但是,当您更改页面或加载另一个html文件时,它只加载第一页div data-role=page而忽略所有标记,并且js超出该div。

如果您有任何额外的JS代码,请将其放在页面div data-role="page"内。

<div data-role="page">
  <script>
    document.getElementById("d").innerHTML="String"
  </script>
</div>