[jQuery] inputに 数字だけ 入力受けること
[お知らせ] jQuery プラグインも あったよ. iMaskという やつ載せる. (2011-08-19 追加)
正確に 下の コードを コピーして 使えば なる. これは 何, とても 迷ってから これ コードを 会ったら 虚しくて 負ける.
団, 気を付ける 点が ある. ハングルは 入力が なる ;; そのため 内 場合 isNaN 関数路 最終 検事を たいてい 番(回) もっと 遂行して 与えた.
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> <script type="text/javascript"> $(function(){ $('.quantity').keypress(function(event){ //alert(event.which); if (event.which && (event.which > 47 && event.which < 58 || event.which == 8)) { //alert('数字!'); } else { //alert('数字ではなさ!'); event.preventDefault(); } }); }); </script> <div class="quantity"> <input type="text"/> </div>
一応 keyup イベント ハンドラーを 使えば 中 なる. なぜだったら, keyupこれ 呼び出しされる 時点なら もう 数字 ない 違う 字が 入力された 状態期 だからだ.
彼だから, key 関連 イベントは 下のように なる.
keypress あるいは keydown → 背の 機能 実行(エンターなら エンター, 数字入力なら 数字入力 など) → keyup
(keypress, keydown, keyup 義 差を 分かって たい 人々は ここに 入って行って 見れば なる.)
そうだから keyupで 呼び出せば もう 遅れた のだ. そのため keypress街 ぴったり 入って来れば こいつが スッザキか ないかを 判断すると する.
スッザキは 48番(回)から 57番(回)載せる. 彼 間である やつらが 押されたら そのまま 過ぎ去る. そして 8番(回)は バックスペースだ. 数字を 消す 数は あるように すると する.
keypress イベントの 場合 event.keyCode路 キガブを 分かる 蟹 なく event.charCode あるいは event.which路 分かると する. これ コードでは event.whichを 使った.
そして event.which増えた 字 入力にだけ 適用される 遊ぶことと する. すなわち, エンターや タップは 自由に 使う 数 ある.
また event.preventDefault() 度 おもしろい 関数も. これ 関数は 関数 名前 そのまま ‘基本を 阻む’. 背が 押された 時の 基本 機能は 背に あたる 字を 入力する のだ. ところが 数字が ない 場合には preventDefault 関数が 呼び出しされた. それでは 基本 機能が 支える. すなわち, 背 入力が 中 なる のだ.
リンクを clickした 時 これ 遊ぶことを 呼び出せば リンク 移動を 阻む. 文字でも 数字でも 入力する 背を 押した 時 こいつを 呼び出せば 入力を 阻んでしまう. フォームで エンターを 押した 時 こいつを 呼び出せば submitを 中 割 のだ. ヨトン そんな やつだ.
それでは 解説 終り!
- コメント機能はありません。コメントの代わりに[email protected]
にメールを送ってください。