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 }