ZKOSS:onClick()在鼠标点击与鼠标点击方面的工作方式不同

时间:2017-08-14 06:58:28

标签: onclick zk zul

我正在尝试禁用双击帮助标签,这是一个锚点以打开“帮助”窗口     <p:a id="helpClick" onClick="help()"> <label value="Help" style="color:#FFFFFF;" /> </p:a>
当触发onClick()事件一次时,通过鼠标单击或点击触摸板一次,将调用help()方法。

void help() {
        flag = true;
        this.helpClick.setDisabled(true);
        Window popupWindow = null;
        popupWindow = (Window) Executions.createComponents("/zul/mainHelp.zul",
                null, null);
        this.popupWindow.setClosable(true);

        popupWindow.addEventListener("onClose", new EventListener() {

        void onEvent(Event event) throws Exception {
        this.helpClick.setDisabled(false);
        }
        });


    }

是我为处理id helpClick 的锚标记而添加的代码 当我使用鼠标点击时,这工作正常。对于第一次单击,窗口将打开,同时Label不再进行任何点击事件 当我尝试使用鼠标点击(使用触摸板)时,会触发两次单击 我用onClick()来捕获事件。 我一旦点击它并打开窗口,我试图禁用它。只有在窗口关闭后,我才能启用标签 当我使用鼠标点击时,这是完全正常的,但是当我使用点按时则不行 通过点击,标签可以进行多次点击,而鼠标点击就是这种情况。

1 个答案:

答案 0 :(得分:0)

如果没有查看代码,很难提供建议,但也许您可以捕获 onDoubleClick 事件并忽略它或将其转发到与 onClick 事件。
... forward="onClick=onHelpClick,onDoubleClick=onHelpClick" ...

问题编辑后:
如果您可以双击已禁用的组件,这听起来像个错误。您可以尝试的一件事是根据A component documentation

将您的链接设置为 autodisable <p:a id="helpClick" onClick="help()" autodisable="self">