ajax jsf - <p:ajax>事件列表




3 Answers

您可以在PrimeFaces用戶指南中搜索“Ajax行為事件” ,您會發現所有支持的組件都有很多。 這也是PrimeFaces在PrimeFaces論壇<p:ajax>事件列表中引發的相關問題的主要建議

沒有onblur事件,這是HTML屬性名稱,但有一個blur事件。 它只是沒有“on”前綴,就像HTML屬性名一樣。 您還可以查看相關組件的標籤文檔的所有“on *”屬性,以查看哪些都可用,例如<p:inputText>

event list

我搜索了互聯網,但找不到<p:ajax>事件列表。 任何人都可以為<p:ajax>標籤提供完整的事件列表嗎?

如果有一個onblur事件或類似事件,我特別感興趣。




不幸的是,Ajax事件記錄很少,我沒有找到任何全面的列表。 例如,用戶指南v.3.5列出了p:autoComplete itemChange事件,但忘記提及更改事件。

如果要查找支持的事件:

  1. 下載並解包primefaces源jar
  2. 查找定義組件的JavaScript文件(例如,大多數表單組件,如SelectOneMenuforms.js中定義)
  3. 搜索this.cfg.behaviors引用

例如,此部分負責在SelectCheckboxMenu組件中啟動toggleSelect事件:

fireToggleSelectEvent: function(checked) {
    if(this.cfg.behaviors) {
        var toggleSelectBehavior = this.cfg.behaviors['toggleSelect'];

        if(toggleSelectBehavior) {
            var ext = {
                params: [{name: this.id + '_checked', value: checked}]
            }
        }

        toggleSelectBehavior.call(this, null, ext);
    }
},



我在調試模式下有列表; 首先,我看到了拋出錯誤的點

javax.faces.view.facelets.TagException:/showcase/partial_submit.xhtml @ 26,36事件:不支持更改。 org.primefaces.component.behavior.ajax.AjaxBehaviorHandler.applyAttachedObject(AjaxBehaviorHandler.java:179)org.primefaces.component.behavior.ajax.AjaxBehaviorHandler.apply(AjaxBehaviorHandler.java:157)

然後我調試了AjaxBehaviorHandler

因此,如果您想要發現支持的事件的正確列表,您可以生成錯誤(使用錯誤的事件名稱),並按照這種方式




Related

ajax jsf jsf-2 primefaces