第一的,
$("document")
应该
$(document)
因为没有<document>
元素,如果有,你就不会调用.ready()
它们。
接下来,您看到此问题的原因是因为$(document).ready()
每次整页加载仅触发一次。在 jQuery Mobile 中更改为新页面不会触发整个页面加载,而是使用 ajax 在新页面中加载。为了解决这个问题,jQuery mobile 有一个名为“pageinit”的事件,该事件会在加载的页面上触发。这就是在您的情况下绑定到它的方式:
预 jquery 1.7
// yes, i know delegate is better, but the documentation specifically suggested using .live
$("#pageid").live("pageinit",function(){
$.ajax({
url: 'data.php',
success: function(data) {
$("#result").html(data).trigger('create');
$("#result").listview('refresh');
}
});
});
后 jquery 1.7
$(document).on("pageinit","#pageid",function(){
$.ajax({
url: 'data.php',
success: function(data) {
$("#result").html(data).trigger('create');
$("#result").listview('refresh');
}
});
});
刷新页面起作用的原因是,当您刷新页面时,$(document).ready()
事件就会发生。