我正在开发一款用于学习目的的应用。
带有2个按钮的标题,内容和导航栏。
body =“onLoad()”函数在应用程序启动时运行良好,但是当我点击导航栏上的另一个按钮时,我想启动一个显示页面内容的函数。但是,当我在新的HTML文件中调用一个函数时,就像在索引文件(body =“contentLoader()”上完全一样)它就不会触发!
继承index.html的代码
<html>
<head>
<head>
</head>
<body onload="onBodyLoad()">
现在我想点击导航栏上的“Listview”-Button,它有一个自己的HTML页面,还有
<body onload="onListLoad()">
但是我的javascript函数function onListLoad() { alert("test"); }
没有激发。
我无法弄清楚原因。这不是正常的方式吗?
提前致谢。问候,约翰。
答案 0 :(得分:0)
我很确定您的子页面中的标记在PhoneGap中被删除了。只有主索引页面才会触发其onload方法。
从我收集到的内容中,只要激活了一个导航标签,就会尝试触发一些代码。我不确定我能告诉你“正确”的做法,但这就是我所做的:
<div data-role="page" id="reports-browse">
<div data-role="header"></div>
<div data-role="navbar">
<ul>
<li><a href="#" onclick="$('#tab1').show(); $('#tab2').hide();" class="ui-btn-active">Tab 1</a></li>
<li><a href="#" onclick="$('#tab1').hide(); $('#tab2').show();">Tab 2</a></li>
</ul>
</div>
<div data-role="content">
<div id="tab1">This is my first tab</div>
<div id="tab2" style="display:none">This is my second tab.</div>
</div>
<script src="reports.browse.js"></script>
<script>reports_browse.init();</script>
</div>
然后我的init()函数执行:
$( document ).bind( "pagebeforeshow", function( prev_page ){
// Populate the two tabs here.
});
希望这有帮助。