1

私がやりたいのは、「」が入力ボックスに入力されない文字であることを確認することです。ユーザーを az と 0-9 に制限するさまざまなキープレス コードがありますが、いくつかの方法でそれを機能させることができないようです入力する必要があるものを指定するのではなく、数文字を入力しないように制限できる方法。

http://jsfiddle.net/cG4aV/ - Enter キーを制限してみてください (動作) 、 " ' (動作しません)

また、シフトでアクティブになるキーでは機能しません...

何か案は

4

2 に答える 2

1

Chromeでは動作しますが、Firefoxでは動作しません。に置き換えkeyCodeてみてくださいwhich。すべてのブラウザで正規化されています。

更新されたフィドルは、両方のブラウザで動作するはずです。

event.whichに関するjQueryドキュメントの引用:

event.whichプロパティは、event.keyCodeとevent.charCodeを正規化します。キーボードのキー入力については、event.whichを監視することをお勧めします。詳細については、MDCのevent.charCodeについてお読みください。

したがって、テストするだけで十分でwhichあり、チェックする必要はありませkeyCodecharCode

于 2012-05-19T06:43:30.050 に答える
0

コードクロスブラウザを決定するための正しい式は次のとおりです。

var code = (e.keyCode ? e.keyCode : e.which);

そしてそれは私のために働いていますfirefox 12

作業デモ

しかし、 jQueryのドキュメントe.whichによるとより適切に使用する必要があります

event.whichプロパティは、event.keyCodeとevent.charCodeを正規化します。キーボードのキー入力については、event.whichを監視することをお勧めします。

于 2012-05-19T06:47:37.453 に答える