js 事件绑定

名字随便取 2010-12-17 03:40:03

$("#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');都有效果的。正确的写法是怎么样的?
...全文
532 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2010-12-17
  • 打赏
  • 举报
回复
IE:
attachEvent("onclick",function(){});
detachEvent(.....)
FF:
addEventListener("click",fu1,false);
removeEventListener("click",fuction(){},false);
大概这样子具体想用自己找下看下就OK了.
gaowenzhen 2010-12-17
  • 打赏
  • 举报
回复
$("#registOK").unbind().bind("click", function(){
alert(alert(2222));
});
gaowenzhen 2010-12-17
  • 打赏
  • 举报
回复
$("#registOK").bind("click")改成如下试试看
$("#registOK").unbind().bind("click");
jx218 2010-12-17
  • 打赏
  • 举报
回复
$("#registOK").click(这里面的东西放到一个方法里面)
$("#test").bind("click",方法)
这种形式方便进行bind以及unbind
$("#registOK").bind("click");这里绑定了click事件,但事件没的执行的方法啊
jack_liu4Ye 2010-12-17
  • 打赏
  • 举报
回复

<input type="button" id="test">
<script>
$("#test").bind("click",function() {
$("#test").unbind("click");
aaa();
$("#test").bind("click",function(){
aaa();
});
})
function aaa(){
alert("ok");
}
</script>
名字随便取 2010-12-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lyq123333321 的回复:]

LZ的意思是不是说第一次执行完Ajax后,再点击#registOK 没有运行click方法,是不?
[/Quote]
是的是的。就是你说的这意思。
我现在的需求是这样的
我点击注册按钮的时候,ajax提交数据,在数据提交的结果返回之前,我把注册按钮上的事件给去掉,让用户点了也不会再提交数据(在数据提交的结果返回之前),结果返回之后,我又把按钮上的事件加上去,允许用户点击提交数据
名字随便取 2010-12-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 gaosir86 的回复:]
JScript code

$("#registOK").click(function () {
if (checkExist()) {
$("#registOK").unbind("click");
$.fillObj(userinfo, "#main");
……
[/Quote]
我现在的需求是这样的
我点击注册按钮的时候,ajax提交数据,在数据提交的结果返回之前,我把注册按钮上的事件给去掉,让用户点了也不会再提交数据(在数据提交的结果返回之前),结果返回之后,我又把按钮上的事件加上去,允许用户点击提交数据
jack_liu4Ye 2010-12-17
  • 打赏
  • 举报
回复
LZ的意思是不是说第一次执行完Ajax后,再点击#registOK 没有运行click方法,是不?
yhtapmys 2010-12-17
  • 打赏
  • 举报
回复
jquery

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

均可

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧