3

現在、ユーザーがHTML Webサイトのテキストボックスに電子メールアドレスを入力したときにリッスンするイベントリスナーがあります。次に、電子メール アドレスが入力されていることを検出すると、アラートを表示します。現在、イベントのぼかしを検出し、正規表現を満たしているかどうかを確認してからアラートが表示されるように設定しました。これは多くのアラートを作成し、アラートとしてはあまり正確ではありません

特にタブキーが押されたときにリッスンするイベントリスナーが必要です。KeyCodes を使用する必要があることはわかっていますが、これまで使用したことがありません。このイベント リスナーは現在、Web ページをスキャンする Firefox アドオンであるため、動的に動作しているため、イベント リスナーは特定の入力ボックスに明確に関連付けられていません。

コード:

vrs_getWin.document.getElementsByTagName("body")[0].innerHTML = bodyContents;
    var inputFields = vrs_getWin.document.getElementsByTagName("input");
    for(inputC=0; inputC < inputFields.length; inputC++)   {
        var elementT = inputFields[inputC].getAttribute("id");
        inputFields[inputC].addEventListener("blur", function(){
            var emailPattern = /(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3})/g;
            var resultEmail = emailPattern.test(vrs_getWin.document.getElementById(elementT).value);
            if(result)  {
               prompts.alert(null, "Test", vrs_getWin.document.getElementById(elementT).value);         
            }
        }, false);
    }

これについての助けは大歓迎です。

4

1 に答える 1

3

UX の観点から、JavaScript アラートを使用してユーザーに問題を通知することはお勧めしません。特に、ユーザーが単一のフォーム入力を完了したときに通知を発生させたい場合はなおさらです。ぼかしイベントは私の推奨事項であり、他の視覚的な合図を使用してユーザーに通知します。

ただし、Tab キーを使用する場合、探しているイベントは「keydown」または「keyup」です。これを使用するには、keydown イベントをリッスンしてから、event.keyCode == '9' かどうかを確認します。(タブキー)

document.addEventListener('keydown', function(e){
                if( e.keyCode == '9' ){
                    alert('You pressed the tab key.');
                }
            }, false);

キーのキーコードを取得するには、コンソールを開いて次のように入力します。

document.addEventListener('keydown', function(e){
                console.log( e.keyCode );
            }, false);

次に、キーを押すと、そのキーのキーコードが出力されます。

于 2013-02-28T20:45:08.130 に答える