jquery keypressイベントを使用してバックスペースが検出されないのはなぜですか?jquery keypressイベントを使用してバックスペースが検出されないのはなぜですか?
$("#field").keypress(function(event){alert(event.which);});
jquery keypressイベントを使用してバックスペースが検出されないのはなぜですか?jquery keypressイベントを使用してバックスペースが検出されないのはなぜですか?
$("#field").keypress(function(event){alert(event.which);});
「キー押下」イベントは、テキストフィールドに追加される実際の文字について(元のIEの形態で、およびSafari/Chromeで)です。バックスペースキーは明らかにフィールド値に新しい文字を追加しないので、キー入力イベントは発生しません。
FirefoxとOperaは、タイピングイベントを生成することについて、もう気を付けません。
PPK(quirksmode)considers the IE and Webkit behaviors to be the sensible onesと私はかなり同意します。
それは賢明かもしれませんが、イベントIMOの有用性を減少させます。おそらくそれはちょうど習慣ですが、私はしばしば(他の言語では、押されたキーにASCII値がある場合にイベントが発生する)BSキーをトラップして、ユーザーが入力ボックスからすべてのテキストを返すときにボタンを無効にする。 – BobRodes
IEの代わりにとkeyup
の機能を使用してみてください。
正確にこれを見てくださいhttp://jsfiddle.net/EZqMA/ –
これは本当にクールなサイトです、エリック。私は今日何かを学んだ。 – mdarwi
@Eric IMOキーが解放された後に発生する 'keyup'イベントを使う方が良いでしょう。' .value'は新しい値を返します。 –
だけでonKeyUpをはクロームですべてのキーボードのキーの検出を行います。..
これはFFではなく、IE(8)で私のために正常に動作します。どのブラウザを使用していますか? –