【发布时间】:2012-08-24 19:53:11
【问题描述】:
我正在使用 jquery mobile,但遇到了黑莓 playbook 的问题。 我有通过 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 等...除了黑莓 playbook。
在剧本中,附加 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 页面调用的其他用途的文档)
谢谢
【问题讨论】:
-
您可以尝试
class="aaa bbb"而不是addClass- 以更好地隔离问题
标签: jquery jquery-mobile blackberry-playbook playbook