onkeyup
はデフォルトで有効になっているため、に設定する必要はありませんtrue
。そうすると、プラグインにすでに組み込まれている機能が壊れます。
3つのオプションがあります。
1) オプションonkeyup
をから外します.validate()
。これにより、onkeyup
機能がデフォルトで有効になります。(編集:「デフォルト」とは、フィールドが最初に別のイベントによって検証された後にのみ、すべての「キーアップ」イベントで検証が行われることを意味します。)
デモ:http: //jsfiddle.net/ZvvTa/
2) このオプションを無効onkeyup
にするように設定できます。false
デモ:http: //jsfiddle.net/ZvvTa/1/
3)onkeyup
独自のコールバック関数に 置き換えて、動作方法を変更します。(デモはデフォルト機能を使用します)
デモ:http: //jsfiddle.net/ZvvTa/2/
以下は、デフォルトの変更さonkeyup
れていないコールバック関数です。
onkeyup: function( element, event ) {
if ( event.which === 9 && this.elementValue(element) === "" ) {
return;
} else if ( element.name in this.submitted || element === this.lastElement ) {
this.element(element);
}
}
参照: http ://docs.jquery.com/Plugins/Validation/validate#toptions
編集:
デフォルトでは、プラグインは、フィールドが別のイベントによって最初に検証される まで、「キーアップ」検証を行いません。(「レイジー」検証)
したがって、これは、即時検証 を提供する、より適切に変更されたバージョンのonkeyup
コールバック関数です。(「熱心な」検証) onkeyup
デモ:http: //jsfiddle.net/QfKk7/
onkeyup: function (element, event) {
if (event.which === 9 && this.elementValue(element) === "") {
return;
} else {
this.element(element);
}
}