java - 在 primefaces 中单击 ESCAPE(ESC) 时关闭所有对话框

标签 java jsf primefaces

我正在使用 4-5 个 primefaces 对话框。单击 ESC 时,我想关闭所有打开的对话框。

最佳答案

通过用widgetVar 指定的客户端对象调用对话框的hide() 函数。因此,如果您将 p:dialog 定义为:

<p:dialog widgetVar="dialog1" header="Dialog 1"/>
<p:dialog widgetVar="dialog2" header="Dialog 2"/>

您的 ESC 按钮应如下所示:

<p:commandButton value="ESC" onclick="dialog1.hide();dialog2.hide()"/>

您还可以创建一个可重复使用的 p:remoteCommand 来关闭所有对话框,并在您的 p:commandButtonp:hotkey 中使用它> - 如果“单击 ESCAPE”是指点击 Escape 按钮:

<p:remoteCommand name="closeAll" onsuccess="dialog1.hide();dialog2.hide()"/>

然后在您的组件中引用 closeAll() 命令:

<p:hotkey bind="esc" handler="closeAll()"/>
<p:commandButton value="ESC" onclick="closeAll()"/>

关于java - 在 primefaces 中单击 ESCAPE(ESC) 时关闭所有对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13082118/

相关文章:

java - 连接时 Zookeeper java.net.NoRouteToHostException

Java - 迭代 ArrayList 并传输元素

jsf - 如何在没有模型的 Facelets 中通过简单的 for 循环重复输出文本?

javascript - 升级到 Primefaces 3.5 后,remoteCommand 无法正常工作

jsf-2 - JSF PrimeFaces 后退按钮

java - 找不到@Controller 中的Spring @GetMapping

java - Delphi Win32和JAVA?

css - 无法获取 <p :selectOneMenu> inside a table to look the same in different IE versions

javascript - 素面 : get geocoder address from google Map to ManagedBean

java - actionListener 不起作用,但该方法起作用