質問: 全くのMonaca初心者です。初歩的な質問で申し訳ありません。 controller等を設けず、OnsenUIを利用して onclick等で普段通りのJSで関数を書いて行ってしまいました。 Pushpageでページを切り替えていくことができましたが、切り替えたページでは DOMを書き換えることもできませんでした。 Psuhpage後にロードされたDOMに対して、データを表示させたりするにはどうしたらよいでしょうか
回答: 私も初心者ですので、初心者の視点から・・・。 コードがないのではっきりしたことは言えませんが、JavaScriptが実行されるタイミングが問題かもしれません。ページ切り替えボタンをタッチした瞬間など、各要素が構築される「前」にDOMに対する制御をかけてしまうと、望んだ結果が得られません。 試行錯誤でしたが、私は以下のイベントリスナーをセットすることで対処しました。 ``` document.addEventListener('pageinit',function(page){ if(page.target.id=="Page1"){ initPage1(); //ページ1の初期化処理 } if(page.target.id=="Page2"){ initPage2();//ページ2の初期化処理 } } ``` ※`page.target.id=="Page1"` で比較されているページ名は、 `` で指定したIdが入ります。 ”pageinit”は、各要素が構築されたのちに実行されるイベントですので、Pushされたページに対しても、各要素にアクセスできると思います。