jQuery Mobileのpagebeforechangeがbindできる対象がなに何なのか分からない

はじめに

 件名通りなのですが、はまったのでメモ。

環境

はまったこと

 「data-roleがpageの要素だったら」bindできるのだろうと思って、以下のように書いたのだが、見事に呼び出されず。

//NGのパターン
//hogepageは、data-roleがpageのDIVタグ
$("#hogepage").bind( "pagebeforechange", function( e, data ) {
    alert('pagebeforechange');
});

調べて分かったこと

 どうやら私と同じことで困っている人が居たらしい。


 また、公式のサンプルを見るとdocument変数に対してbindしている。
 先ほどのstackoverflowのサイトの内容とあわせて考えると、「data-roleがpageのDIVタグ」にはbindできないのだと思われる。

対処法

 今回は、「ページが表示されるたびに発生するイベントが欲しかった。
 結局、pagebeforeshowを使ってみた。

さいごに

 jQuery Mobileについて、jQuery Mobile特有のイベントはちょっと分かり難い…、かも。

 あとpagebeforechangeの使いどころがよく分からない。
 全画面共通でページ表示前にしたいことがある場合にでも使うのだろうか。