关于 jquery 绑定和取消绑定
为什么这不起作用?我该如何修复它?
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("button").unbind("click");
$("div").show().fadeOut("slow",function(){
$("button").bind("click");
});
})
})
</script>
<style>
div{width:600px;height:600px;display:none;background:red;}
</style>
</head>
<body>
<button>test</button>
<div></div>
</body>
</html>
why this does't work? and how can I fixed it?
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("button").unbind("click");
$("div").show().fadeOut("slow",function(){
$("button").bind("click");
});
})
})
</script>
<style>
div{width:600px;height:600px;display:none;background:red;}
</style>
</head>
<body>
<button>test</button>
<div></div>
</body>
</html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您没有指定 什么将
click
事件绑定到$("button").bind("click");
(它在那里不做任何假设,它只是默默地绑定任何东西)。您可以使用存储的命名函数来执行此操作,例如:您可以在此处进行测试。不过,就您而言,更容易检查
是否隐藏,并且不要取消/重新绑定任何内容,如下所示:
您可以在此处测试该版本。
You aren't specifying what to bind the
click
event to with$("button").bind("click");
(it doesn't make any assumptions there, it just silently binds nothing). You can do this with a named function you store though, for example:You can test it out here. In your case though, it's easier to just check if the
<div>
is hidden, and don't un/re-bind anything, like this:You can test that version here.