1

HTMLフォームがあります。通常のフォーム送信ではなくJavaScriptを実行する必要があるため、送信ボタンのアクティブ化を傍受しています。

Enterキーを押して送信ボタンをクリックするとフォームがアクティブになるように、javascriptを追加しました(これは通常の方法だと思います)。ただし、これによりアクセシビリティが損なわれます。ユーザーがフォーム外の別のボタンまたはリンクにタブ移動して Enter キーを押すと、フォーカスのあるボタンがアクティブ化されません。ただし、そうではありません-代わりにフォームボタンがアクティブになります。これを処理する標準的な方法は何ですか (ここで基本的なものが欠けていると感じます)?

Enterキーを押すのをキャプチャするために使用しているものの簡略化されたバージョン(jQuery)....

    $("form").bind("keydown", function(e){
            if (e.which == 13) {
                e.currentTarget.blur();
                $("button").click();
                return false;
            }
         });
4

1 に答える 1

3

submit()代わりにアクションをインターセプトし、event.preventDefault()すぐにキャンセルするために使用します。

$('form').on('submit',function(e) {
    e.preventDefault();
    // more code
});
于 2013-04-05T17:55:46.207 に答える