jquery-1.11.0.min.js
function login(){
var username = $("#username").val();
var password = $("#password").val();
var ret_url = encodeURI($("#ret_url").val());
var post_path = $(".login-form").attr('action');
if(username =="")
{
$("#username").css('color','#e7693f');
return false;
}
else if(password == "")
{
$("#password").css('color','#e7693f');
return false;
}
else{
$.ajax({
type:'post',
url:post_path,
data:{username:username,password:password,gopath:ret_url},
dataType:'json',
success: function(data){
if(data.status == 0){
$("#errormsg").text(data.msg);
}
else if(data.status == 1)
{
$("#errormsg").text(data.msg);
location.href = data['data'].gopath;
}
},
beforeSend: function(XMLHttpRequest, textStatus){
$("#login-btn").find("span").text("\u6b63\u5728\u767b\u9646\u002e\u002e\u002e");
$("#errormsg").text("");
},
complete: function(){
$("#login-btn").find("span").text("\u7acb\u5373\u767b\u9646");
}
})
}
};
// #login-btn登陆按钮
$("#login-btn").on('touchstart click',function(){
login();
});
电脑端没有问题! 到手机端就没用了 !
desktop端没问题,那说明click事件绑定成功,并能成功执行你的login(),这里只触发了click事件;而移动终端多了touchstart事件,也就是说一个动作响应两个事件,几乎同时执行了两次login(),后面自个儿具体调试一下。(注: 看来题主已经引入触摸事件模块。)
让移动终端只触发一个事件,使用creatTouch属性判断是否支持触摸事件。做法如下:
题外话:而且为何不使用tap事件。移动终端一般使用轻量级的zepto.js。