2012-05-13 9 views
0

私は学習目的でアプリケーションを開発中です。Phonegap、Navbarボタンがクリックされたときに関数を起動する方法

ヘッダー、コンテンツ、およびナビゲーションバーに2つのボタンがあります。

body = "onLoad()"関数は、アプリケーションの起動時にはうまく動作しますが、navbarで別のボタンをクリックすると、そのページのコンテンツを表示する関数を起動したいと思います。しかし、私が新しいHTMLファイルの関数をインデックスファイル(body = "contentLoader()"のようにまったく同じ方法で呼び出すと、それは起動しません!

相続人のindex.html

<html> 
<head> 
<head> 
</head> 


<body onload="onBodyLoad()"> 

そして今、私はまた

<body onload="onListLoad()"> 
で、独自のHTMLページを持っているナビゲーションバー、で「リストビュー」-Buttonをクリックしたいからコード

しかし、私のjavascript関数function onListLoad() { alert("test"); }は起動していません。

私は理由を理解できません。これは通常の方法ではありませんか?

ありがとうございます。よろしく、ジョン。

答えて

0

私はあなたのサブページ内のタグがPhoneGap内に取り除かれていると確信しています。メインインデックスページのみがonloadメソッドを起動します。

私が収集したことから、ナビゲーションタブの1つが有効になるとすぐにコードを実行しようとしています。私はあなたにそれを行うには「正しい」方法を伝えることができわからないんだけど、ここで私が何をすべきかです:

<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. 
}); 

は、この情報がお役に立てば幸いです。

関連する問題