Bug-org 1124608 Support D3E EventModifierInit
初回投稿日時: 2015-04-17 12:28:48
最終更新日時: 2015-04-18 00:10:22
カテゴリ: Events Mozilla Core Mozilla40 バグ修正
SNS:
Tweet (list)
D3Eでは、各種イベントを生成する時に、dictionaryを用いた、簡単な記述で互換性の問題も発生しにくいコンストラクタが提案されています。基本的にはこのdictionaryは生成後にそのイベントの属性名になるものをキーとして値を設定します。例えば、
var keyboardEvent = new KeyboardEvent("keydown",
{ key: "Tab", code: "Tab", keyCode: 9, shiftKey: true });
しかし、D3EではKeyboardEvent.getModifierState()や、MouseEvent.getModifierState()で、キーとして定義されている全てのモディファイアの状態や、Accelといった仮想モディファイアも状態を検査できるようになりました。しかし、逆に言うと、これらが属性という形式をとっていないため、Javascriptがイベントを生成する時に初期化する方法がありませんでした。
そこで、EventModifierInitが新たに提案され、今回はこれの実験実装を行いました。これにより、例えば、CapsLockと、OSをtrueにしたい場合、以下のように記述できます。
var keyboardEvent = new KeyboardEvent("keydown",
{ key: "Tab", code: "Tab", keyCode: 9,
modifierCapsLock: true, modifierOS: true }