1

ユーザーが入力した電子メール入力を検証するための次のjQueryコードがあります。

$('#email').keyup(function() {
    if (!isValidEmailAddress(email)) {
        $('#validate').removeClass();
    } else {
        $('#validate').removeClass();
        $('#validate').addClass('validate');
    }
});​

しかし、ユーザーがたとえば「Da」と入力すると、ブラウザが電子メールを認識し、「daniel@gmail.com」のようなドロップダウンでそれを完了するためのオプションが表示されるので、jQuery コードでどのイベントを使用して均等にすることができますか?ユーザーがそのドロップダウンオプションをクリックするか、Enterキーをクリックして選択したときに検証します...

前もって感謝します

4

3 に答える 3

2

jquery 1.7+ を使用している場合は、キーアップをバインドし、同じ方法でイベントを変更します。

$("#email").on("change keyup", function() {
    $('#validate').toggleClass('validate', isValidEmailAddress(this.value));
});

コードを短くすることができます。メールが有効な場合にのみ css クラス「validate」を追加します (#email は入力フォームであり、その値を検証したいと考えています)。

jQuery オブジェクトは参照したコレクションを返すことを覚えておいてください。そのため、変数に保存$('validate')して、jquery に要素を何度も (コード内で数回まで) 検索させる代わりに、その変数を使用します。

古いバージョンのjQueryを使用している場合は、バインドに変更してください

于 2012-08-07T21:30:34.967 に答える
1

たぶん、このプラグインはあなたが必要とするものを助け、それをあなたがすでに持っているコードと統合することができます.

このデモを見てください:

http://www.zurb.com/playground/jquery-text-change-custom-event

お役に立てれば :-)

于 2012-08-07T22:35:55.810 に答える