0

RichCommandButton当鼠标以编程方式悬停在 a 上时,我需要调用一个方法。

private UIComponent ImageButton(UIComponent parent){
    RichCommandButton img = new RichCommandButton();
    String imagestyle = "width:120pt; height:120.0pt;margin:10.0pt;";
    img.setInlineStyle(imagestyle);
    ClientListenerSet set = img.getClientListeners();
    if (set == null) {
               set = new ClientListenerSet();
            }
    set.addListener("click", "handle");
    img.setClientListeners(set);
    parent.getChildren().add(img);
    AdfFacesContext adfFacesContext = AdfFacesContext.getCurrentInstance();
    adfFacesContext.addPartialTarget(parent);
    return img;  
}

在我的 JSPX 页面中,

    <f:facet name="metaContainer">
    <af:resource type="javascript">
        function handle(evt){  
            var source = evt.getSource();
            AdfLogger.LOGGER.logMessage(AdfLogger.SEVERE, 'gangangan');
            evt.cancel();
        }
    </af:resource>
    </f:facet>

它永远不会进入此功能(在 Chrome->Inspect 元素上的控制台中检查日志消息)。请让我知道如何调用方法mouseOver

4

2 回答 2

1

我认为您应该将客户端侦听器添加到 mouseOver 事件而不是单击:

set.addListener("mouseOver", "handle");

您可以在此页面中查看其余可用的客户端事件。

于 2012-05-01T18:37:13.220 回答
1

img.setClientComponent(true)在你的方法中使用吗?如果你的 JavaScript 需要这个组件,那么它也需要出现在客户端。

于 2012-09-26T21:08:01.377 回答