我正在尝试查找可以传递给 f:ajax
标记的属性 event
的所有可能值的列表。
我知道我也可以从 .js 文件传递函数名称,但我只需要 JSF 附带的函数名称。
我只知道单击鼠标悬停和键盘按键,但我确信还有更多。只是不知道在哪里可以找到它们。
请您参考如下方法:
event
<f:ajax>
的属性可以容纳至少所有支持的 DOM events由相关 Faces 组件生成的 HTML 元素的名称。找到所有这些的一个简单方法是检查所有 on*
Faces tag library documentation 中感兴趣的 Faces 输入组件的属性然后删除“on”前缀。例如,the <h:inputText>
component呈现 <input type="text">
列出以下 on*
属性(我已经删除了其中的“on”前缀,以便它最终成为 DOM 事件类型名称):
-
blur
-
change
-
click
-
dblclick
-
focus
-
keydown
-
keypress
-
keyup
-
mousedown
-
mousemove
-
mouseout
-
mouseover
-
mouseup
-
select
此外,Faces 还有两个特殊事件名称 EditableValueHolder
和 ActionSource
组件,呈现的真实 HTML DOM 事件取决于组件类型:
-
valueChange
(将在文本/选择输入上呈现为change
,在单选/复选框输入上呈现为click
) -
action
(将在命令链接/按钮上呈现为click
)
以上两个是相关组件的默认事件。
一些 Faces 组件库具有额外的自定义事件名称,这些名称通常是更专业的 valueChange
类型。或action
事件,例如 PrimeFaces <p:ajax>
其中支持 tabChange
, itemSelect
, itemUnselect
, dateSelect
, page
, sort
, filter
, close
等,具体取决于父级 <p:xxx>
成分。您可以在 PrimeFaces User's Guide 每个组件章节的“Ajax 行为事件”小节中找到它们。 .