以下代码仅在一个问题上“正常”工作。每当触发 keyup 事件时,目标键仍会继续响应任何 keyup 或 keydown 事件,而所有其他键都变得无响应。好像我在这里遗漏了一些解除绑定,但无法弄清楚。我试过off()
and unbind()
,但没有成功。
目的是如果按下这些键,它们会触发,但所有其他键不应该冻结。
var delta = 500; // time interval since the last keyup event
var lastKeypressTime = 0; // double enter flag set
$( this ).on( "keyup", function (event) {
event.preventDefault();
if (event.keyCode == 37)
{
$(' a.left' ).css( "opacity", "0.5" ).trigger( 'click' );
} else if (event.keyCode == 39)
{
$(' a.right' ).css( "opacity", "0.5" ).trigger( 'click' );
}
else if (event.keyCode == 13)
{
var thisKeypressTime = new Date();
$( ' div div.active a.readon' ).focus();
if (thisKeypressTime - lastKeypressTime <= delta)
{
$(' div div.active a.readon' )[0].click();
thisKeypressTime = 0;
}
lastKeypressTime = thisKeypressTime;
}
} );