あなたは文字がonkeyup
ではなく、挿入されますときですonkeydown
をキャッチしたいです。また、代わりに番号を除去する、ちょうど私が推薦するevent.preventDefault()
<p>
<input type="text" onkeydown="event.key.match(/\d/) && event.preventDefault()" />
</p>
ことの一つは、HTMLからコードを削除し、そのよう機能でそれを入れていると挿入し得ることから、それを防ぐ必要がありますこのような再利用可能である:
// Wait till the dom is loaded
document.addEventListener('DOMContentLoaded', function(e) {
// Add the event to each input that has `data-type="number"`
document.querySelectorAll('[data-type=number]').forEach(function(input) {
// Add the event to the input
input.addEventListener('keydown', number)
})
})
function number(event) {
event.key.match(/\d/) && event.preventDefault()
}
<p>
<input type="text" data-type="number" />
</p>
コードは次のとおりです: – MCDev
Javascriptでこれをやっているようです。コード例プロジェクトでAngularやjQueryのようなJavascriptライブラリを使用していますか?あなたは何のレベルのブラウザサポートを探していますか?これは純粋に表示用か検証用かその両方ですか? –
代わりに 'oninput'を使ってみましたか? –