最近在用jquery mobile开发webapp的时候碰到一个问题。

就是在页面加载完成时,判断用户是否完善了资料,如果没有完善资料,就自动弹出一个popup提示用户去完善资料,并带上链接。

我用的第一种办法是

<script>
$(document).on("pageinit","#pageone",function(){
    $("#popupCloseRight").popup("open");

});
</script>

调试的时候发现这种办法,根本没有反应。

我就想会不会是pageinit的原因。

官方文档是这样写的:pageinit,在页面页面初始化时,触发的事件。

可是我换成:pageload在页面完全加载成功后触发。

一样没有效果。

在网上各种搜索,找到一个方法。

<script>
$(document).on("pageinit","#pageone",function(){   

    setTimeout(function(){

         $("#popupCloseRight").popup("open");

    },0);

});
</script>

这样写,居然成功了。

不知道有没有哪位大神能给我解释一下。为什么用setTimeout就可以。