jQuery Mobileではネイティブなイベントの上に、開発を容易にするためのカスタムイベントを用意しています。これらのイベントは、タッチパネルやマウス、ウインドウなど環境によって存在するものだけが呼び出されます。そのため、携帯端末やデスクトップどちらの環境向けのイベントもバインドしてしまって構いません。 イベントは、jQuery同様に live()bind() を用いてバインドできます。

重要:$(document).ready()ではなく pageinit() を使う

jQueryを学んで最初に覚えることは、コードを $(document).ready() に記述することでしょう。DOMが読み込まれ使用可能になると、この関数は真っ先に呼ばれます。しかしながらjQuery Mobileにおいては、Ajaxによって各ページが読み込まれてコンテンツがDOMに追加されます。そのため、DOMの ready ハンドラはサイトの最初のページを開いた時にしか呼ばれません。新しいページが読み込まれた際に毎回実行したい場合、その処理は pageinit イベントにバインドしてください。このイベントについては、pageinitで詳しく説明しています。

重要:pageCreate() vs pageinit()

ベータ2より前は、jQuery Mobileにより拡張された後のページやウィジェットのマークアップを操作したい場合は pagecreate イベントにバインドすることが推奨されていました。しかしベータ2で内部的に大きな変更があり、各ウィジェットの初期化がが pagecreate イベントでバインディングされることで分離されました。jQuery UI ウィジェットファクトリーのライフサイクルに準拠すれば、初期化メソッドは create メソッドの 後に 呼ばれるべきです。そのため、拡張が行われたDOMやJavaScriptオブジェクトを操作するには pageinit イベントが最適なタイミングです。端的に言えば、以前 pagecreate を使ってページ表示前に拡張されたマークアップを操作していたならば、ほとんどの場合は pageinit に移してしまうべきです。