好吧,我只是要求解除特定的按键事件。我现在用命名空间事件解决了这个问题。但是我又遇到了另外一个问题......在animate()
显示div后,下面的函数绑定一个按键事件。它运行良好,但按键事件似乎计时,功能执行......在我的情况下,myFnc()
执行时单击链接...所以当我点击链接keypress.f
事件被触发一次...但是当我按下按键之前多次点击链接时,按键事件也会执行多次,尽管我只按了一次按键....所以fadeToggle()会在一次按键时执行5次,当通过五次点击执行5次函数时......有人明白我的意思,并可以帮助我吗?jQuery:在某些动作中绑定导致多重执行
function myFnc() {
$('#somediv').animate({
height: 'toggle'
}, 600, function() {
$(document).bind('keypress.f', function(event) {
if($('#secret').is(':visible')) {
if (event.which == 102) {
$('.content-2').fadeToggle();
$('.content-284').fadeToggle();
}
}
else {
$(document).unbind('keypress.f');
}
});
});
}
您的第一个解决方案效果很好......谢谢! (没有尝试其他) – Mikaelik