1

これはユーザーのログイン画面です。ログインが成功したときに別のページを表示したいのですが、この「ちょっと」は機能しますが、ログインが成功した後、両方のページが混在しています! それはすべてオーバーレイされます。そのため、ページを更新したときにのみ、正しく表示されます。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");
 });

}); 
4

2 に答える 2

1

ここにいくつかの問題があります:

jQuery Mobile 1.1はコアjQueryバージョン1.6.4および1.7.1でのみ動作しますが、Mobile1.2はコア1.7.0および1.8.2で動作します

$(document).ready()サポートされていません。$(document).bind('pageinit')代わりに使用してください。http://jquerymobile.com/demos/1.2.0/docs/api/events.html

スクリプト参照はで始まるべきではありません//http://

于 2013-01-09T16:02:05.200 に答える
0

あなたはこれを行うことができます:

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

2 番目の問題については、.on() で委任を使用する必要があります。

$(document).ready(function() {

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

});
于 2013-01-09T13:40:47.503 に答える