ajax用户的行为事件,jsf-<p:ajax>事件列表

由于可能的事件列表并不与public void onItemSelect(SelectEvent)本身相关,而是与它所使用的组件相关联,因此您必须询问该组件所支持的ajax事件。

确定给定组件的ajax事件有多种方法:

1)询问xhtml中的组件:

通过将该组件绑定到请求范围变量并打印public void onItemSelect(SelectEvent)属性,可以直接在xhtml中输出列表:

这个输出

[blur, change, valueChange, click, dblclick, focus, keydown, keypress, keyup,

mousedown, mousemove, mouseout, mouseover, mouseup, select, itemSelect,

itemUnselect, query, moreText, clear]

2)在Java代码中询问组件:

找出组件实现类并调用public void onItemSelect(SelectEvent)方法的实现:

import javax.faces.component.UIComponentBase;

public class SomeTest {

public static void main(String[] args) {

dumpEvents(new org.primefaces.component.inputtext.InputText());

dumpEvents(new org.primefaces.component.autocomplete.AutoComplete());

dumpEvents(new org.primefaces.component.datatable.DataTable());

}

private static void dumpEvents(UIComponentBase comp) {

System.out.println(

comp + ":\n\tdefaultEvent: " + comp.getDefaultEventName() + ";\n\tEvents: " + comp.getEventNames());

}

}

输出:

org.primefaces.component.inputtext.InputText@239963d8:

defaultEvent: valueChange;

Events: [blur, change, valueChange, click, dblclick, focus, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover, mouseup, select]

org.primefaces.component.autocomplete.AutoComplete@72d818d1:

defaultEvent: valueChange;

Events: [blur, change, valueChange, click, dblclick, focus, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover, mouseup, select, itemSelect, itemUnselect, query, moreText, clear]

org.primefaces.component.datatable.DataTable@614ddd49:

defaultEvent: null;

Events: [rowUnselect, colReorder, tap, rowEditInit, toggleSelect, cellEditInit, sort, rowToggle, cellEdit, rowSelectRadio, filter, cellEditCancel, rowSelect, contextMenu, taphold, rowReorder, colResize, rowUnselectCheckbox, rowDblselect, rowEdit, page, rowEditCancel, virtualScroll, rowSelectCheckbox]

3)'rtfm';-)

最好的选择是查看组件开发人员希望提供的正在使用的特定组件的文档,而不仅限于PrimeFaces btw。 (public void onItemSelect(SelectEvent)可以连接到任何提供ajax行为的组件)。

与以前的建议相比,优点在于文档不仅提供了事件名称,而且还提供了对事件的增强描述,并可能添加了可以由侦听器捕获的事件类型类。

例如public void onItemSelect(SelectEvent)

public void onItemSelect(SelectEvent)

侦听器方法签名public void onItemSelect(SelectEvent)提供了其他事件上下文数据。

如果PrimeFaces文档中没有关于组件的Ajax事件的明确列表,则可以通过删除on并将其余部分用作事件名称,来将on * javascript回调列表用作事件。 这个问题的其他答案也为这些普通的dom事件提供了帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值