2010-12-11 9 views

答えて

19

「キー押下」イベントは、テキストフィールドに追加される実際の文字について(元のIEの形態で、およびSafari/Chromeで)です。バックスペースキーは明らかにフィールド値に新しい文字を追加しないので、キー入力イベントは発生しません。

FirefoxとOperaは、タイピングイベントを生成することについて、もう気を付けません。

PPK(quirksmodeconsiders the IE and Webkit behaviors to be the sensible onesと私はかなり同意します。

+0

それは賢明かもしれませんが、イベントIMOの有用性を減少させます。おそらくそれはちょうど習慣ですが、私はしばしば(他の言語では、押されたキーにASCII値がある場合にイベントが発生する)BSキーをトラップして、ユーザーが入力ボックスからすべてのテキストを返すときにボタンを無効にする。 – BobRodes

19

IEの代わりに​​とkeyupの機能を使用してみてください。

Javascript e.keyCode doesn't catch Backspace/Del in IE

+2

正確にこれを見てくださいhttp://jsfiddle.net/EZqMA/ –

+0

これは本当にクールなサイトです、エリック。私は今日何かを学んだ。 – mdarwi

+1

@Eric IMOキーが解放された後に発生する 'keyup'イベントを使う方が良いでしょう。' .value'は新しい値を返します。 –

0

だけでonKeyUpをはクロームですべてのキーボードのキーの検出を行います。..

関連する問題