按第一个按钮,您将为第二个按钮的margin-left
设置动画,按第二个按钮,解除第一个按钮事件的绑定,但是我想让第三个按钮绑定点击事件回到第一个。
当然,寻找一个简单的解决方案!
这就是代码的样子:
<div class="button"><a href="http://www.google.com">something</a></div>
<div class="button2"><a href="http://www.google.com">something2</a></div>
<div class="button3"><a href="http://www.google.com">something3</a></div>
(function(){
$('.button a').on('click', function(e){
e.preventDefault();
$('.button2').animate({'margin-left': '+=2'}, 100);
})
$('.button2').on('click', function(e){
e.preventDefault();
$('.button a').unbind('click');
})
$('.button3').on('click', function(e){
e.preventDefault();
$('.button a').bind('click');
})
})();
你可以搞砸它here
答案 0 :(得分:2)
您实际上可以在.on()
中使用命名函数。这意味着您可以定义函数marginFunc()
,然后使用
function marginFunc() {
...
}
$(someElement).on('click', marginFunc);
完成后,您可以使用.unbind('click', marginFunc)
或 .off('click', marginFunc)
取消绑定。
之后,您可以像开始时一样重新绑定。