0

尝试使用 jquery mobile 触发事件(登录单击按钮),但它只能工作一次。

我让它在'pageshow'事件上触发(因为整个jquery ajax pageload的东西,文档准备不适用)但它只在第一次加载时起作用,我尝试了一个可以触发的警报。所以一定是$('.check-login')中的.live()事件。我希望你们能对此有所了解。

jQuery代码:

      $('#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 元素上触发任何事件,您需要使用 .live() 函数而不是单击。当您遍历页面时,它不会重新加载页面,它只是来自 jQuery-Mobile 本身的内部 ajax 调用。

于 2012-04-12T16:11:06.643 回答