jQuery mobile .changePage无法正常工作

时间:2013-01-09 13:35:26

标签: javascript jquery html jquery-mobile

这是一个用户登录界面,当登录成功时我想要显示另一个页面,这个“有点”有效,但在成功登录后我得到两个页面的混合!它全部重叠。因此,只有当我刷新页面时,我才能正确看到它。我也尝试使用jQuery版本1.6.4,但没有帮助。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="js/custom.js"></script>
<script src="//code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>

<script>
   $.ajax({
   ...
   success: function (data){ 

      $.mobile.changePage('account.html'); 
 },
    });
</script>

除了下一页的重叠问题之外,还有一个JavaScript代码在我刷新页面之前无效。

  $(document).ready(function() {

    $(".infoBasic").click(function() {
     $(this).next('.infoDetails').slideToggle("50");
 });

}); 

2 个答案:

答案 0 :(得分:1)

这里有几个问题:

jQuery Mobile 1.1仅适用于核心jQuery版本1.6.4和1.7.1,而Mobile 1.2适用于核心1.7.0和1.8.2

$(document).ready()不受支持。请改用$(document).bind('pageinit')http://jquerymobile.com/demos/1.2.0/docs/api/events.html

您的脚本引用不应以//开头http://

答案 1 :(得分:0)

我认为你可以这样做:

$.ajax({
    ...
    success : function(data) {
        $('body').empty();
        $.mobile.changePage('account.html');
    },
});

对于您的第二个问题,您应该使用.on():

委托
$(document).ready(function() {

    $(this).on('click',".infoBasic",function() {
        $(this).next('.infoDetails').slideToggle("50");
    });

});