キー・バインド振る舞いを使用すると、 キーボードのフォーカスがコンポーネント内にある場合、 またはコンポーネント内の任意のコンポーネント内にある場合に、 ファンクション・キーまたは制御キーが押されるたびに、 アクションまたは JavaScript™ 関数を 実行させることができます。 バインドのスコープは、 その振る舞いが割り当てられるタグの種類によって異なります。 form、div、body などのコンテナー・タグに、 この振る舞いがバインドされている場合、 キーボードのフォーカスがコンテナー内にあれば、 キーが押されるたびにアクション/関数が実行されます。 入力タグのような非コンテナー・タグに、 この振る舞いがバインドされている場合、 そのタグがキーボードのフォーカスを持っている場合にのみ、 バインドが適用されます。
指定されたキーが押されると、 関数 (提供されている場合) が実行されます。 アクション (またはアクションのリスト) が提供されている場合は、 次にアクションが実行されます。 関数とアクションの両方が提供されている場合、 その関数が false を戻すことによって、 アクションの実行を妨げることができます。 どちらのケースでも、 キーの「デフォルトの」振る舞いは、 実行「しない」になっています。 例えば、F1 キーがバインドされている 場合、F1 キーが押されても、 ヘルプを表示するという ブラウザーのデフォルトの振る舞いは起こりません。
<hx:behaviorKeyPress>
任意の HTML コンテナー・ タグ (<form>、<div> など)、 またはキーボード入力を受け入れる 任意の HTML タグ (<input> など)。
複数のキー・バインドを 1 つのタグに付加することができます。
hX_5.addBehavior("id", "onkeydown", new hX_5.JSFBehaviorKeybind(attributes)); 各部の意味は次のとおりです。
id |
コンポーネントが付加される HTML タグの ID。 |
属性 |
コンマで区切られた属性のリスト。 各属性は、属性名と値から成る引用符付きストリングになっており、 コロンで区切られています (例: "label:MyLabel")。 |
イベント |
説明 |
---|---|
onkeydown |
キー・ダウン・イベントにのみ (キー・プレスや キー・アップではなく)、振る舞いが付加されます。 |
属性名 |
説明 |
---|---|
keycode |
キーを表す (10 進) 数 (例えば、112 はファンクション・キー 1 になります)。 |
modifier |
そのキーと一緒に押す必要がある修飾キー (例えば SHIFT + F1)。 |
action |
クリック可能なエンティティーを クリックしたときに実行されるアクション (またはアクションのセット)。 通常は、アクションのターゲット (またはターゲットのセット) が 必要になります。 |
target |
ページ内の「input type='text'」フィールド の ID (このフィールドが提供されている場合)。 メニューで何かが選択されている場合は、 指定されたフィールドの値として、 メニュー項目のテキストが必ず設定されます。 通常、コンボ・ボックスをエミュレートする ポップアップ・メニューを作成する場合にのみ、 この属性が使用されます。 例えば、入力フィールドに隣接するメニューがあり、 メニューの最上位が単一のボタンになっているとします。 このボタンをクリックしてメニューを表示し、 そのメニューから項目を選択して、 入力フィールドの値を設定するような場合には、 この属性を使用してください。 |
function |
キーを押したときに 実行される JavaScript 関数 (また は JavaScript の インライン・ストリング)。 |
イベント用に指定された他のハンドラーのあとに、実行されます。
すべてのアクション/関数が実行されたあとに、 続行中/バブル中のイベントを停止します。
API 呼び出し |
説明 |
---|---|
object = setAttribute(attribute) |
属性を設定します。 属性がすでに設定されたものである場合は、 その値を変更します。 |
string = getAttribute(attribute-name) |
属性の現行値を取得します。 |
キー・バインドは、onkeydown イベントでのみ使用でき、 英数字以外のキーにのみ使用できます。
フォーム内で、 次のフィールドへ進む動作に F1 キーをバインドし、 前のフィールドに戻る動作に Shift F1 キーをバインドします。 タブ・キーは使用不可にします。
hX.addBehavior("form1", "onkeydown", new hX.JSFBehaviorKeybind ("keycode:112", "modifier:Shift", "action:prevTab")); hX.addBehavior("form1", "onkeydown", new hX.JSFBehaviorKeybind ("keycode:112", "action:nextTab")); hX.addBehavior("form1", "onkeydown", new hX.JSFBehaviorKeybind ("keycode:9", "modifier:Shift", "action:nothing")); hX.addBehavior("form1", "onkeydown", new hX.JSFBehaviorKeybind ("keycode:9", "action:nothing"));