3

これまでのところ、これはキープレスで呼び出されています。

function chkenter()
{
  e = event.keyCode;

  if (e == 13)
  {
    event.keyCode = 9;
    return false;
  }
}

ただし、キーコードを9に設定しても、タブで次のコントロールに移動しません。どうすればこれを達成できますか?AspClassicで作業しています。

私が最終的に望んでいるのは、焦点を次の要素に移すことです。ただし、次の要素のIDは、そのIDがループで設定されているため完全には決定されませんが、この時点では存在しています。次のコントロールにフォーカスを設定するにはどうすればよいですか。

4

2 に答える 2

1

これはIEのみのスクリプトであるため、Firefoxで実行しようとしても機能しません。

IEで機能させるには、「returnfalse;」を削除します。コードから、この関数を「onkeydown」イベントにアタックすることを忘れないでください。

于 2009-09-29T16:31:37.477 に答える
0

次のようにjQueryを使用してこれを行うことができます。

function checkKey(e){
    if( e.keyCode == 13 ){ // if enter key
        var e = jQuery.Event('keydown'); // create a manual event
        e.which = e.charCode = 0;
        e.keyCode = 9; // set the new event to "tab"
        $(this.target).trigger(e); // trigger the new event (on the document)
        return false;  // cancels the original "enter" event from executing
    }
}
// lets say you bind the event on the whole document...
$(document).on('keydown', checkKey);
于 2013-02-11T17:17:16.677 に答える