key
要素はキーボードショートカットを定義します。割り当てられたキーが押された時に応答するにはイベントハンドラを使用します。key
要素は keyset
要素内に置かれなければなりません。
key 要素上の属性と一致するキーが押された時、command が key 要素上で実行されます。押されたキーは、key 属性 (または keycode 属性) および key 要素を活性化し command イベントを実行するための modifiers 属性と一致しなければなりません。
例えば、次のようなキーを考えます:
<key key="r" modifiers="shift"/>
この key は Shift キーが R キーと共に押された時のみ一致します。他の key の組み合わせでは一致しません。つまり、Shift および Control, R キーが同時に押されても、key は一致しません。
修飾 (modifier)キーが任意に押されることを示すには、'any' を任意の修飾キーの後に羅列します。例えば:
<key key="r" modifiers="shift any control"/>
この例では、shift キーの押下は任意ですが、control キーは押さなければなりません。関連性のない修飾キーについては key の一致がより大雑把になりますが、特定の修飾キーを必要とすることも可能です。
modifiers 属性が指定されていないときは、key と一致させるために修飾キーを押しません。
key または keycode 属性が使用されていないときは、key 要素がすべての key イベントを扱います。しかし、属性の一つに空の文字列が設定されていると、要素はどの key イベントも扱いません。例えば:
<!-- この要素はすべての key イベントを扱います --> <key/> <!-- これらの要素はどの key イベントも扱いません --> <key key="" modifiers="control"/> <key keycode="" modifiers="control"/>
特定の要素で (デフォルトでない) key コマンドを使用する場合は、key イベントをリッスンする必要があります。
詳しい情報は、XUL チュートリアルをご覧ください。
例
(例が必要)
属性
-
disabled
- 型: 論理型
-
要素が無効化されているかどうかを示します。ある要素が
true
に設定されていたら、その要素は無効化されています。無効化された要素は通常グレイ表示のテキストで描画されます。要素が無効化されていると、ユーザのアクションには応答せず、フォーカスもあてられず、command
イベントも発生しません。
-
key
- 型: 文字型
- 押される文字。表示可能な文字を設定しなければなりません。
modifiers
- 型: スペースで区切られた以下の値のリスト
- キーボードショートカットを呼び出すために押下する修飾キーのリスト。複数のキーはスペースやカンマで区切られます。プラットフォーム上に無いキーは、他のキーに割り当てられます。
shift
: Shift キー。alt
: Alt キー。Macintosh 上では Option キーです。Macintosh 上では、特別な文字をテキストに入力する Alt+Letter の組み合わせが予約されているため、他の modifier と連結して使用されます。meta
: Meta キー。Macintosh 上では Command キーです。control
: Control キー。accel
: ユーザのプラットフォーム上のキーボードショートカットに使用されるキー。Windows や Linux では Control キー、Mac では Command キーとなります。キーボードショートカットの定義には通常これを指定します。access
: menu や他の要素を活性化するためのアクセスキー。Windows 上では Alt キーです。要素の accesskey と連結して使用されます。any
: 上記のすべての modifier は任意であることを示します。
-
oncommand
- 型: スクリプトコード
- このイベントハンドラは command が活性化した時、呼び出されます。これは、ユーザがメニュー項目を選択したり command に割り当てられたキーボードショートカットが押したりした場合に起こります。
-
phase
- 型: 文字列型
- ハンドラが呼び出される場所のイベントフェーズ。この値は、イベント取得フェーズであることを示すには
capturing
に、またはターゲット要素にあることを示すにはtarget
に設定します。揮発フェーズ (bubbling phase)では、この値全体を取り除きます。
プロパティ
メソッド
XUL 要素からの継承
blur
, click
, doCommand
, focus
, getElementsByAttribute
, getElementsByAttributeNS
DOM 要素からの継承
addEventListener()
, appendChild()
, compareDocumentPosition, dispatchEvent()
, getAttribute()
, getAttributeNode()
, getAttributeNodeNS()
, getAttributeNS()
, getElementsByTagName()
, getElementsByTagNameNS()
, getFeature, getUserData, hasAttribute()
, hasAttributeNS()
, hasAttributes()
, hasChildNodes()
, insertBefore()
, isEqualNode, isSameNode, isSupported()
, lookupNamespaceURI, lookupPrefix, normalize()
, removeAttribute()
, removeAttributeNode()
, removeAttributeNS()
, removeChild()
, removeEventListener()
, replaceChild()
, setAttribute()
, setAttributeNode()
, setAttributeNodeNS()
, setAttributeNS()
, setUserData
関連項目
TBD