我正在使用 jquery mobile 并遇到了黑莓剧本的问题。我有通过 jquery 动态加载的页面 在 jquery mobile 中使用 $.mobile.changePage('/full/url/to/page');
当页面加载时,我捕获 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);
});
这在 iOS、chrome、android 等中运行良好……除了黑莓剧本。
在剧本中,附加 Web Inspector 后,我收到了这个 javascript 错误,看起来 jquery 库在尝试重新格式化选择对象时没有加载......
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);
});
如果您能阐明为什么我的“现场”活动不起作用,请告诉我。
(我知道 live 在 1.7 中已被弃用,但我还没有找到任何关于 jquery mobile 与 ajax 页面调用的其他用途的文档)
谢谢