调用行为时,该行为将运行一个或多个 JWL 操作以及所提供的任何 JavaScript。JWL 操作是预定义的 JavaScript 块,例如“禁用字段”、“隐藏字段”和“显示警报框”。此外,某些行为(特别是用于处理验证的行为)还可以切换与字段相关联的 CSS 类以及执行函数和操作。
JWL 行为将添加到对象的事件处理程序中,而不是替换该事件处理程序。例如,可以将 JavaScript 函数连接至对象的 onblur 处理程序,然后再将一个行为连接至该 onblur 函数。该事件触发时,将同时运行该事件处理程序和行为。以下内容描述了事件处理程序、行为以及行为所执行的操作的触发顺序。
<input id="form1:text1" type="text" value="fish" class="inputText" />
<script> hX_5.addBehavior("form1:text1", "onfocus", new hX_5.JSFBehaviorGeneric("action:show", "target:form1:tooltip1")); </script>
每个行为都是使用 JavaScript 构造函数进行构造,并通过 addBehavior 调用添加到页面中。
id |
行为所连接至的 HTML 标记的 ID。要连接至主体标记,请使用 #body 并对文档使用 #document。 |
eventname |
调用行为的 HTML 事件名称。例如,onclick 或 onkeydown。每个行为仅支持一些 HTML 事件名称,例如,mouseclick 行为不能与键盘事件绑定。在某些情况下,此行为需要与多个 HTML 事件绑定,此时将使用一个“伪”事件名称。例如,将 mouseclick 行为与多个事件绑定,因此事件名称是“onmouse”。 |
name |
JSF 组件的名称。 |
属性 |
逗号分隔的属性列表,其中每个属性都是一个加引号的字符串,此字符串包含使用冒号分隔的属性名称和值,例如,"label:MyLabel"。 |
要获取特定的行为对象:
id |
行为所连接至的 HTML 标记的 ID。要连接至主体标记,请使用 #body 并对文档使用 #document。 |
name |
JSF 组件的名称。 |
eventname |
调用行为的 HTML 事件名称。例如,onclick 或 onkeydown。每个行为仅支持一些 HTML 事件名称,例如,mouseclick 行为不能与键盘事件绑定。在某些情况下,此行为需要与多个 HTML 事件绑定,此时将使用一个“伪”事件名称。例如,将 mouseclick 行为与多个事件绑定,因此事件名称是“onmouse”。 |
returns |
类型为转换器(数字、日期时间或字符串)的 JavaScript 对象。如果不能完成转换,则将返回 NULL 并设置 lastError。 |
要获取所有与 DOM 对象连接的行为对象:
id |
行为所连接至的 HTML 标记的 ID。要连接至主体标记,请使用 #body 并对文档使用 #document。 |
returns |
类型为转换器(数字、日期时间或字符串)的 JavaScript 对象。如果不能完成转换,则将返回 NULL 并设置 lastError。 |
更改行为的属性:
b |
行为对象。 |
arg |
JSF 属性/值字符串。 |
获取行为的属性:
b |
行为对象。 |
argname |
包含属性的名称的字符串。 |
returns |
类型为转换器(数字、日期时间或字符串)的 JavaScript 对象。如果不能完成转换,则将返回 NULL 并设置 lastError。 |
如果行为可以执行用户提供的 JavaScript 函数,则该函数将在任何 JWL 操作之前执行。如果该函数返回 false,则不会执行这些操作。同样,如果该函数返回 false,则不会应用任何 CSS 样式。操作的行为与此类似 - 如果操作返回 false,则不会执行任何其他操作。
如果除了行为以外还提供了 JavaScript 事件处理程序,例如,将脚本连接到 onblur 事件处理程序,并将行为连接到同一个 onblur 事件处理程序,则将根据事件的不同而首先执行或最后执行所提供的 JavaScript。如果 JavaScript 事件处理程序先运行并返回 false,则不会运行该行为。
行为 |
描述 |
---|---|
JSFBehaviorGeneric | 将函数/操作与任何 HTML 事件处理程序绑定。 |
JSFBehaviorAjaxGet | 定义如何以异步方式从同一起始页面中检索内容以及进行分析。 |
JSFBehaviorAjaxGetExternal | 定义如何以异步方式从不同于起始 URL 的 URL 中检索内容以及进行分析。 |
JSFBehaviorAjaxSubmit | 定义如何以异步方式对起始页面提交/检索内容以及进行分析。 |
JSFBehaviorAssist | 对 HTML 输入字段启用输入辅助(逐字符提示功能)。 |
JSFBehaviorFocus | 当页面装入时,将初始焦点设置到该页面中的某个控件。 |
JSFBehaviorKeybind | 将函数/操作与功能键/控件键绑定。 |
JSFBehaviorMouseclick | 将函数/操作与鼠标右键或全部鼠标按键绑定。 |
JSFBehaviorTrack | 启用字段/光标跟踪,以便在提交表单时,将有关焦点/光标最后所在位置的信息作为提交内容的一部分传递。 |
JSFBehaviorTypeahead | 对输入字段添加预先输入支持。 |
JSFBehaviorValidate | 验证 HTML input 或 select 标记值是否正确,如果不正确,则显示错误。 |
JSFBehaviorRowAction | 仅供内部使用。对 h:dataTable 中的某一行添加行操作。 |
JSFBehaviorRowCategory | 仅供内部使用。对 h:dataTable 中的某一行添加行类别行为。 |
JSFBehaviorRowEditSave | 仅供内部使用。对 h:dataTable 中的可编辑行添加保存行为。 |
JSFBehaviorRowEditShowHide | 仅供内部使用。对 h:dataTable 中的可编辑行添加显示/隐藏(编辑区域)行为。 |
JSFBehaviorPager | 仅供内部使用。支持 h:dataTable 中的分页行为。 |
JSFBehaviorHS | 仅供内部使用。<hx:panelActionbar> 的客户端逻辑的实现。 |
JSFBehaviorAlert | 建议不要使用。当事件触发时,显示警报/确认对话框,改为使用 JSFBehaviorGeneric。 |