jQuery mobileでリロードしないとJavascriptが動かない場合

$(function(){
 $("#sample").click(function(e){
  //処理したいこと
 });
});

で、ページを表示した後リロードしないと動かないことがあった。

対応
jQueryのバージョンにもよるが、.liveか.onで書き換えるとリロードせず動作した。
例)

$(function(){
 $("body").on("click","#sample",function(e){
  //処理したいこと
 });
});

こんな感じ。

直後に、clickなどマウスイベントが無い場合どうする?ということでハマる。

$(function(){
 alert('動かん');
});

googleさんにあちこち探してもらって下記で決着。

$("body").on('pageshow',"div[data-role='page']", function() {
 alert('動いた?');
});

シェアする

  • このエントリーをはてなブックマークに追加

フォローする