缺陷Jquery Mobile事件仅使用live()和pageshow事件触发一次
尝试使用jquery mobile触发事件(登录单击按钮),但它只工作一次 我让它在“pageshow”事件中启动(因为整个jQueryAJAXPageLoad事件,DocumentReady不适用),但它只在第一次加载时起作用,我尝试了一个触发OK的警报。因此它必须是$('.check login')中的.live()事件。我希望你们能解释一下 Jquery代码:缺陷Jquery Mobile事件仅使用live()和pageshow事件触发一次,jquery,jquery-mobile,cordova,Jquery,Jquery Mobile,Cordova,尝试使用jquery mobile触发事件(登录单击按钮),但它只工作一次 我让它在“pageshow”事件中启动(因为整个jQueryAJAXPageLoad事件,DocumentReady不适用),但它只在第一次加载时起作用,我尝试了一个触发OK的警报。因此它必须是$('.check login')中的.live()事件。我希望你们能解释一下 Jquery代码: $('#home').live('pageshow', function(event){
$('#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');
}
});
});
通过:
这是因为当您在jQuery移动站点上为同一个项目(内部)跟踪链接时,页面将加载AJAX,并且只替换正文。因此,如果要在页面加载后添加的任何dom元素上触发任何事件,则需要使用user.live()函数,而不是单击。当您遍历页面而不是重新加载页面时,它只是来自jQuery Mobile本身的一个内部ajax调用。所说的“仅触发一次”,您的意思是单击事件仅在第一次单击时起作用?我们能看看你的HTML吗?如果你能提供一个,JSFIDLE会有所帮助。你用什么版本来帮助人们回答最好的问题?稍后会再次发布