我正在使用 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:commandButton
或 p: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/