0

以下のコードは、1 つの問題だけで「適切に」機能しています。keyup イベントがトリガーされるたびに、ターゲット キーは引き続き keyup または keydown イベントに応答し続けますが、他のすべてのキーは応答しなくなります。ここでバインドを解除していないようですが、わかりません。off()とを試しまし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;
    }
} );
4

1 に答える 1