javascript - 如何检查 p 是否为 :dialog is open?

标签 javascript jquery html primefaces

我使用以下方法在我的网页上实现了一个弹出框

<p:dialog header="Value" widgetVar="confirmationCbxTxt" ..>

现在,我想检查当单击页面上的按钮时是否打开此弹出框。 我的按钮的代码是

<p:commandButton value="#{label.close}" ajax="true" id="Close2" onclick="focuspopup();" />

使用onclick函数“onclick =“focuspopup();”我想检查我的弹出框是否在屏幕上打开。有人可以建议这种方法吗?我正在考虑在我的focuspopup()中使用jquery测试打开的弹出窗口。

最佳答案

PrimeFaces.widget.Dialog 的客户端 API 包含三种方法,根据 PrimeFaces 5.2 User Guide (第 184 页):

  • show() 显示对话框。
  • hide() 关闭对话框。
  • isVisible() 以 bool 值形式返回可见性。

使用最后一项即可满足要求。例如,将其添加到您的 focuspopup() 函数中:

var open = PF('confirmationCbxTxt').isVisible();
<小时/>

注意:对于较旧的 PrimeFaces 版本(5.1 及更低版本),isVisible() 不存在,因此您需要将其替换为

var open = PF('confirmationCbxTxt').jq.is(':visible'); 

关于javascript - 如何检查 p 是否为 :dialog is open?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31451234/

相关文章:

javascript - 通过 React Native 中的 fetch 从请求 api 获取状态和数据

javascript - Javascript 每五秒循环一次

javascript - 带有元素标题的 HTML 链接。它是如何工作的?

javascript - 如何获取jstree行元素的点击事件?

java - 如何从 HTML 页面创建 Android 对话框?

javascript - jqueryui sortable 完成排序后的事件

jquery 输入验证(数字字符和小数位数)

jquery - 如何在 jQuery 中选择这个容器元素

javascript - 无法在 mozilla firefox 上验证

javascript - 无法创建 2 个表