jquery mobileを使用していますが、ブラックベリープレイブックで問題が発生しました。$ .mobile.changePage('/ full / url / to / page');を使用してjquerymobileでjqueryを介して動的にロードしているページがあります。
ページが読み込まれると、pageinitイベントがキャプチャされ、作業内容を以下で確認できます...
<div id="Page1">
<select id="selectId">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
...
$("#Page1").live('pageinit', function () {
$("#selectId").val("1");
$("#selectId").selectmenu("refresh", true);
});
これは、Blackberry Playbookを除いて、iOS、Chrome、Androidなどで正常に機能します。
プレイブックでは、Web Inspectorをアタッチした後、selectオブジェクトを再フォーマットしようとしたときにjqueryライブラリがロードされていないように見えるこのjavascriptエラーが発生します...
TypeError: Result of expression 'span.text( text ).addClass' [undefined] is not a function.
code.jquery.com/mobile/latest/jquery.mobile.js:8107
(http://jquerymobile.com/demos/1.1.1/docs/api/events.htmlからの指示に従って)
また、メインのインデックスページでこれを試し、ドキュメントのpageinitにロードすると、完全に正常に機能することに気付きました。
$(document).bind("pageinit", function () {
$("#test").val("2");
$("#test").selectmenu("refresh", true);
});
私の「ライブ」イベントが機能しない理由を明らかにすることができたら、私に知らせてください。
(ライブが1.7で非推奨になったことは承知していますが、ajaxページ呼び出しでjquery mobileに使用する他のドキュメントは見つかりませんでした)
ありがとう