ユーザーがキーストロークを行った後(たとえば、テキストボックスで)キーストロークをキャンセルすることは可能です(クロスブラウザー互換)
現在使用しているコードは、キーストロークが表示された後にテキストボックスの値を編集します。
$('.number').keypress(function() {
this.value = this.value.replace(/[^0-9\.]/g, '');
});
ユーザーがキーストロークを行った後(たとえば、テキストボックスで)キーストロークをキャンセルすることは可能です(クロスブラウザー互換)
現在使用しているコードは、キーストロークが表示された後にテキストボックスの値を編集します。
$('.number').keypress(function() {
this.value = this.value.replace(/[^0-9\.]/g, '');
});
$('.number').keypress(function() {
if ( this.value == 'foobar' ){
// "Cancel" keystroke
return false;
}
this.value = this.value.replace(/[^0-9\.]/g, '');
});
解決済み(および更新済み)
申し訳ありませんが、最も明白なオプションをテストしませんでした-うまくいきました:
$('.number').keypress(function(event) {
return /[0-9\.]/.test(String.fromCharCode(event.keyCode));
});