2012-03-21 2 views
2

MacのSafariの特殊キーには非常に奇妙な問題があります。öüäのような特別な文字のキーダウンは '¨'のない2回、ouputsの文字

文脈は少し説明するのが難しいので、問題を説明し、誰かが考えや推測をして、私に正しい方向を向けることを願っています。

私はöのような文字キーを押します。唯一のOテキストフィールドで

  • はkeydownイベントリスナが2回実行される

  • を表示されます。 oと同じキーコード(öの場合)とキーコード0でもう一度。

  • 私はkeydownとkeypressリスナの両方を付けました。 keydownだけが実行されます(o keypressのような "通常の"文字も実行されます)。

前もって感謝します。

OK]をクリックして、ここでいくつかを理解していただくことをコンテキストの一部です:

  • は、すべてのMacには表示されません。

  • エディタを含むiframeでFlashを使用すると表示されます。リスナーをページ全体とエディタに接続して、何が起こっているのかを確認しました。この問題は、フラッシュテキストフィールドに入力すると発生します。ページのjavascriptリスナーが反応し、私が説明した動作をします。

私はそれは、彼らが点滅に行く前に、私はJavascriptでイベントをキャッチしていて、そこに私はこの奇妙な振る舞いを見ることができるので、それは、フラッシュテキストフィールドだとは関係がないと思います。

+0

でこの情報がたくさんあります

。私が間違っている場合は、質問をロールバックしてください。 =) –

+0

ありがとう、ありがとう。私はちょうど怠け者だった= P – Ixx

+0

エンコードの問題のような音... JavaScriptは16ビット文字を想定しています。多分あなたのキャラクターは32ビット値でエンコードされています...(ウムラウト文字はすべて16ビットに収まるが) –

答えて

1

重複したイベントはブラウザの奇妙なものかもしれませんが、いずれの場合でもキードンは実際に入力される文字を与えることは期待できません。結果としてどの文字が入力されるかは、キーボードのレイアウト、その他のキーの組み合わせ(ShiftやAltGrなど)、以前のキーの押下(「デッドキー」の場合)によって異なります。 ``:私は二重の期間は( `..`)ダイエレシスやウムラウト文字であることを意味したと仮定し、質問のタイトルを編集しhttp://unixpapa.com/js/key.html

+0

keydownはcharを与えないので、keypress(charCodeを使うことができる)しかし、それは私のポストで指摘されているように、引き起こされません。リンクありがとう、すぐにそれを読むでしょう。 – Ixx

+0

よろしくお願いします。それは私がここで何か具体的な答えを得られない理由を少なくとも理解するのを助けた...とにかく良い記事、著者は多くの研究をし、主要なリスナーの周りのすべての問題の偉大な概要を与える... – Ixx

関連する問題