私はこれは簡単なものだと信じていますが、Googleで数時間の検索をしても何の答えも見つけられませんでした(多分正しい単語を使用できませんでした検索:-P)入力テキストに「ポストアクセント」を防ぐ方法
は、私はそれが以下のコードに見られるように、数字以外の文字をテキストボックスを埋めるために、ユーザーを防ぐJavaScriptのメソッドを持っており、それがKeyDownイベントで使われています:
function checkNumberInput(e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode == 65 && (e.ctrlKey === true || e.metaKey === true)) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
}
問題は、ユーザーが2番目のキー(〜 '^ ^など)を「待つ」アクセント文字を入力すると、直後に数字を入力するとテキストボックスに表示されるということです。例えば
:私はこれを防ぐにはどうすればよい
a) types 1 => [1________]
b) types ~ => [1________]
c) types 3 => [1~3______]
?前もって感謝します。
また、keyUpイベントを追加するとどうなりますか? –
keyUpイベントの終わりに、非数値文字に対して入力の 'value'プロパティをスキャンし、見つかった場合はそれらを削除することができます。 keyUpの後に数ミリ秒実行される 'value'プロパティのチェックをスケジュールするために 'setTimeout()'を使うことができます。 –
私は@ Al.Gを使用しました。メソッドはkeyUpと同盟し、それはトリックでした。 \t \t 「書き込み消去」効果を削除したかったが、不可能だと思う。助けてくれてありがとう! – thiagoprzy