键绑定行为的作用是:当键盘焦点在某个组件或者该组件中的任何组件中,每当按下某个功能键或控制键时,执行操作或 JavaScript™ 函数。绑定作用域取决于该行为的相关标记的类型。如果将该行为与诸如 form、div 或 body 之类的容器标记绑定,则每当键盘焦点在该容器中,并且该键被按下时,都将运行该操作/函数。如果将该行为与诸如 input 标记之类的非容器标记绑定,则仅当该标记带有键盘焦点时,才会应用该绑定。
如果提供了该函数,则当指定的键被按下时,将执行该函数。如果提供了操作或操作列表,则接着将执行那些操作。如果同时提供了函数和操作,则该函数可以通过返回 false 来禁止执行该操作。在这两种情况下,都不会执行该键的“缺省”行为。例如,如果绑定了 F1 键,则按下 F1 键时,不会执行缺省浏览器行为“显示帮助”。
<hx:behaviorKeyPress>
诸如 <form> 或 <div> 之类的任何 HTML 容器标记或者诸如 <input> 之类的任何接受键盘输入的 HTML 标记。
可以将多个键绑定连接到一个标记。
hX_5.addBehavior("id", "onkeydown", new hX_5.JSFBehaviorKeybind(attributes)); 其中
id |
组件所连接至的 HTML 标记的 ID。 |
属性 |
逗号分隔的属性列表,其中每个属性都是一个加引号的字符串,此字符串包含使用冒号分隔的属性名称和值,例如,"label:MyLabel"。 |
事件 |
描述 |
---|---|
onkeydown |
该行为只能连接到 keydown 事件,不能连接到 keypress 或 keyup 事件。 |
属性名称 |
描述 |
---|---|
keycode |
该(十进制)数字表示按键,例如,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 键,使 F1 键的作用是前进到下一个字段,并使 Shift F1 键的作用是前进到上一个字段。禁用 Tab 键。
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"));