$("#registOK").click(function () {
            if (checkExist()) {
                $("#registOK").unbind("click");
                $.fillObj(userinfo, "#main");
                $.ajax({
                    type: "post",
                    url: "/Register/SaveUserinfo.html",
                    data: { userinfo: $.toJSON(userinfo), pwd: $("#userpwd").val(), shcode: $("#Tb_telpas").val() },
                    beforeSend: function (XMLHttpRequest) {
                    },
                    success: function (data, textStatus) {
                        if (data == 0) {
                            $("#code").attr("className", "Error");
                            $("#code").text("验证码错误");
                        }
                        if (data == 1) {
                            window.location.href = "/Register/RegistResult.html?from=" + from;
                        }
                    },
                    complete: function (XMLHttpRequest, textStatus) {
                        alert('c');
                        $("#registOK").bind("click");
                    },
                    error: function () {
                    }
                });
            }
        });点击registOK的时候在第一次ajax请求未完成时候  $("#registOK").unbind("click");把他的事件取消掉,
ajax请求完成的时候     $("#registOK").bind("click");事件又给他绑上去
现在$("#registOK").bind("click");绑定事件这句没用,是不是写错了,每次alert('c');都有效果的。正确的写法是怎么样的?

解决方案 »

  1.   

    jquery$('div').livequery('click', function () {alert('clicked');});   
    $('div').livequery(function () {$(this).click(function () {alert('clicked');})});  均可 
      

  2.   

    LZ的意思是不是说第一次执行完Ajax后,再点击#registOK 没有运行click方法,是不?
      

  3.   

    我现在的需求是这样的
    我点击注册按钮的时候,ajax提交数据,在数据提交的结果返回之前,我把注册按钮上的事件给去掉,让用户点了也不会再提交数据(在数据提交的结果返回之前),结果返回之后,我又把按钮上的事件加上去,允许用户点击提交数据
      

  4.   

    是的是的。就是你说的这意思。
    我现在的需求是这样的
    我点击注册按钮的时候,ajax提交数据,在数据提交的结果返回之前,我把注册按钮上的事件给去掉,让用户点了也不会再提交数据(在数据提交的结果返回之前),结果返回之后,我又把按钮上的事件加上去,允许用户点击提交数据
      

  5.   


    <input type="button" id="test">
    <script>
    $("#test").bind("click",function() {
    $("#test").unbind("click");
    aaa();
    $("#test").bind("click",function(){
    aaa();
    });
    })
    function aaa(){
    alert("ok");
    }
    </script>
      

  6.   

    $("#registOK").click(这里面的东西放到一个方法里面)
    $("#test").bind("click",方法)
    这种形式方便进行bind以及unbind
    $("#registOK").bind("click");这里绑定了click事件,但事件没的执行的方法啊
      

  7.   

     $("#registOK").bind("click")改成如下试试看
    $("#registOK").unbind().bind("click");
      

  8.   

    $("#registOK").unbind().bind("click", function(){
      alert(alert(2222));
    });
      

  9.   

    IE:
    attachEvent("onclick",function(){});
    detachEvent(.....)
    FF:
    addEventListener("click",fu1,false);
    removeEventListener("click",fuction(){},false);
    大概这样子具体想用自己找下看下就OK了.