防止同时发生的关键事件?

时间:2014-03-17 01:23:29

标签: jquery html

我有一个交叉词拼图应用程序我正在处理每个方块都有一个输入字段和附加的keyup事件。它被编程为接收按下的charachter并自动移动到该行中的下一个方块。但是,如果我在几乎同时按下两个键,则在跳到下一个方格之前,方形将填充2个字母。我尝试将square maxlength更改为1但是它会导致程序在插入第一个字母后跳过下一个方块。

当按下其他键时,有没有办法检查当前是否按下某个键?我可以做一个小的超时,直到第一次印刷结束。

任何想法?

 function keyUp( event )
    {
    if ( event.currentTarget.tagName != "HTML" ) return;

    if(event.which == 8){
        event.preventDefault();

}

if(event.which == 13){
    var dir = getDirection(_cwo.currRow, _cwo.currCol);
    if(dir == "across")goAcross(true);
    else
    goDown(true);

}
if ( event.which == 37 ) goAcross( true );
if ( event.which == 38 ) goDown( true );
if ( event.which == 39 ) goAcross( false );
if ( event.which == 40 ) goDown( false);
if (
( 32 == event.which ) ||
( ( 64 < event.which ) && ( event.which < 91 ) ) ||
( ( 96 < event.which ) && ( event.which < 123 ) )
)
{


_char = codeToChar( event.which );
if ( _char == _cwo.NA ) return;
$( _cwo.currCell).data( 'player', _char );
paintCell( _cwo.currCell, 'player');



$("#" + cellID( _cwo.currRow, _cwo.currCol )).click();
alignClue( "A", _cwo.clues["across"] );
alignClue( "D", _cwo.clues["down"] );


};

0 个答案:

没有答案