0

jquery mobile を使用してイベント (ログイン クリック ボタン) を発生させようとしていますが、一度しか機能しません。

「pageshow」イベントで起動しました(jquery ajax pageload全体のため、ドキュメントの準備はできません)が、最初のロードでのみ機能します。正常に起動するアラートを試しました。したがって、$('.check-login') の .live() イベントでなければなりません。皆さんがそれに光を当てることができることを願っています。

Jクエリコード:

      $('#home').live('pageshow', function(event){
                             alert('home');//fires okay

                             //fires once only
                             $('.check-login').live('click', function() {
                                        var email = $("#email").val();
                                        var password = $("#password").val();
                                        if(email !="" || password !=""){
                                        var datastring = "useremail=" + email + "&userpassword=" + password;                 
                                                              $.ajax({
                                                              type: "POST",
                                                              url: 'http://creativetree.co/creativetreeBeta/mobileImageUpload.php',
                                                              data: datastring,
                                                              success: function(data){
                                                              //success
                                                              $('.check-login').slideUp();
                                                              $('.upload-page').fadeIn();
                                                              $('#userlogin').slideUp();  
                                                              }
                                                              });

                                        }else{
                                        alert('Please fill in all fields');
                                        }
                             });
                             });
4

1 に答える 1

0

次を参照してください: JqueryMobile - スクリプト ページ

これは、同じプロジェクト (内部) の jQuery Mobile サイトのリンクをたどると、ページが AJAX で読み込まれ、本文のみが置き換えられるためです。したがって、ページの読み込み後に追加された dom 要素でイベントを発生させたい場合は、クリックの代わりに user .live() 関数を使用する必要があります。ページをトラバースすると、リロード ページではなく、jQuery-Mobile 自体からの単なる内部 ajax 呼び出しです。

于 2012-04-12T16:11:06.643 に答える