在从版本:v1.0b1到现在:1.2.0的站点上更新jquery mobile之前,这有效:
$(document).ready(function() {
$('.ui-page').live('pageshow', function(e, ui) {
// do something
});
});
但更新后不再有效。但这样做:
$(document).ready(function() {
});
$('.ui-page').live('pageshow', function(e, ui) {
// do something
});
如果我取出代码并将其放在dom之外就可以了。有没有办法让它在dom内部工作?
答案 0 :(得分:1)
您应该在jquery mobile上将$(document).ready()
替换为$(document).bind('pageinit')
。
你在jQuery中学到的第一件事就是在$(document).ready()
函数中调用代码,这样一旦加载了DOM就会执行所有操作。但是,在jQuery Mobile中,Ajax用于在导航时将每个页面的内容加载到DOM中,而DOM ready处理程序仅针对第一个页面执行。要在加载和创建新页面时执行代码,您可以绑定到pageinit
事件。此事件在本页底部详细说明。
有关详细信息,请参阅 JQuery Mobile