我正试图“停止”#mydiv上的点击操作,我的意思是如果我在#mydiv上点击100次我希望不透明度只发生一次,而不是100次,我在网上找到了这个解决方案“unbind”,我认为它第一次使用它有效,但现在它不起作用,这可能是一个简单的错误,但我真的不知道在哪里看。我评论了我的所有jquery页面,我只有文档就绪行和那两个函数,但它不会停止对点击的操作:
$('#mydiv').bind('click', function() {
$('.myclass').animate(opacity: 0.25);
});
$('#mydiv').unbind('click', function() {
$('.myclass').animate(opacity: 0.25);
});
非常感谢你的帮助
答案 0 :(得分:3)
只需使用:
$('#mydiv').unbind('click');
或者
如果您希望点击仅发生一次,请改为使用one
:
$('#mydiv').one(function() {
$('.myclass').animate(opacity: 0.25);
});
答案 1 :(得分:3)
使用jQuery 1.7+:
$('#mydiv').on('click', anim);
$('#mydiv').off('click', anim);
function anim() {
$('.myclass').animate(opacity: 0.25);
}
你甚至可以这样做:
$('#mydiv').on('click', anim);
function anim() {
$('.myclass').animate(opacity: 0.25);
$('#mydiv').off('click', anim);
}
或
$('#mydiv').one("click", function() {
$('.myclass').animate(opacity: 0.25);
});
当然应该是:
$('.myclass').animate({opacity: 0.25}, speed);