我的目标:在效果发生时按住空格键(以模拟指纹扫描)。如果用户在效果完成之前释放键,我想显示一条确认消息。 keydown部分可以正常工作,并可以进行“过程”功能,但是如果在效果完成之前释放了keyup,则在keyup上不会显示任何错误消息。这就是我所拥有的...
var active = false;
$(document).one("keydown", function(e) {
if ((e.keyCode == 32) && (active == false)) {
active = true;
$(".panel_1").slideDown(5000, function() {
active = false;
$(".panel_1").slideUp(2000, function() {process(); })
});
}
});
$(document).one("keyup",function(e) {
if ((e.keyCode == 32) && (active == true)) {
var r=confirm("Oops! You must HOLD down the space key until scan is complete. Press OK to try again, or Cancel to return to homepage.");
if (r==true) {
reset();
}
else {
window.location.replace("home.html");
}
}
});
最佳答案
验证在第一个slideDown动画过程中释放了关键帧。根据您的代码,一旦它开始向上滑动,您的活动对象将被设置为false,然后使其变为false,从而不会触发keyup事件。
另外,我建议在JavaScript中使用Triple =。