javascript - jquery 问题 无法使用
巴扎黑
巴扎黑 2017-04-10 14:33:34
0
6
424

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();
});

电脑端没有问题! 到手机端就没用了 !

巴扎黑
巴扎黑

reply all(6)
黄舟

desktop端没问题,那说明click事件绑定成功,并能成功执行你的login(),这里只触发了click事件;而移动终端多了touchstart事件,也就是说一个动作响应两个事件,几乎同时执行了两次login(),后面自个儿具体调试一下。(注: 看来题主已经引入触摸事件模块。)

让移动终端只触发一个事件,使用creatTouch属性判断是否支持触摸事件。做法如下:

   var tap_click = ("createTouch" in document) ? "touchstart" : "click";
   $("#login-btn").on(tap_click,function(e){
      // code...
   });

题外话:而且为何不使用tap事件。移动终端一般使用轻量级的zepto.js。

黄舟

额,,看起来没什么错误啊,让高手来回答

巴扎黑

手机端不兼容吧

阿神

手机端试试只写

    var username = $("#username").val();
    alert(username);

是否有值

巴扎黑

最好的是自己一步步调试下吧?
到底是哪里的问题?
是取值取不到还是异步路径不对,或者异步数据取不到,又或者是输出有问题?

小葫芦

touchstart click 中间应该使用逗号而不是空格吧

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template