1

コンテンツ編集可能な div で使用される特別な機能のために、IE で Rangy ノードを作成しています。さまざまな文字、言語、および IME をすべて正しく処理できるようにするために、多くのキー処理コードが存在するように、可能な限りグローバルにしようとしています。if 文が入力される一連の「or」の中に 1 つの条件「e.charCode」を持つ関数に 1 つの if 文があります。IE では、charCode は定義されていませんが、ノルウェー語の文字 å (alt + 134) を入力した場合にのみ、その文字で charCode が実際に有効になります。これにより、すべてが破棄され、テキスト ボックス内の Rangy ノードが完全に削除され、それ以上入力しても応答しなくなります。

私の質問は、私が試した他のすべての ASCII 拡張文字と å 文字の動作が異なるのはなぜですか? また、この問題に似た、ゲルマン語について知っておくべき特別なケースは他にありますか?

4

1 に答える 1

0

このような場合は、Javascript Key Event Test Scriptが必要です。これは、どのイベント フィールドにどの値が含まれているかを示す単純な Web ページです。そうすれば、コードの入力を確認できます。

私の推測では、テスト ページに å を入力しても、å について例外的なことは何も見つからないでしょう。

次のステップは、合成イベントを作成する単体テストを作成し、それらをコードにフィードして、正しく動作することを確認することです。

単体テストなしでこれを行うのは非常に魅力的です。しかし、時間が経つにつれて、コードが複雑になりすぎて理解できなくなり、本当に奇妙なエラー (あなたが説明したようなもの) が忍び寄ります.

于 2013-09-16T15:11:18.430 に答える