【发布时间】:2013-12-14 09:53:52
【问题描述】:
H1 各位!让 JSF 2.0 中的以下场景(Mojarra 2.2、Glassfish 4、Primefaces 4.0):
<!DOCTYPE html>
<html lang="fr"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Title</title>
</h:head>
<h:body onload="PF('dlg').show()">
<p:dialog widgetVar="dlg"
resizable="false" closable="false" >
<h:form id="form">
<h:outputLabel for="name" value="Name:" />
<p:inputText id="name" />
<p:commandButton id="submitButton" value="Submit" />
<p:commandButton id="cancelButton" value="Cancel"
onclick="alert('ok'); PF('dlg').hide();" />
</h:form>
</p:dialog>
</h:body>
</html>
问题是Primefaces对话框隐藏后保持焦点:取消对话框后按空格键或回车键,您可以观察到警报'ok'会再次显示!
当尝试使用onclick="alert('ok'); PF('dlg').hide(); PF('dlg').blur()" 或onclick="alert('ok'); PF('dlg').hide(); PF('dlg').focusout()" 将焦点从对话框中设置出来时,似乎整个主体都在重新加载,因为对话框重新出现...
我做错了吗?这是我的误解还是 Primefaces 中的错误? 任何帮助将不胜感激:)
【问题讨论】:
-
尝试不使用
<h:form/>的对话框并将<p:commandButton/>替换为<p:button/> -
感谢您的回答 kolossus,但它也不起作用。 Primefaces对话框在隐藏后不断捕捉空格键或输入按键...
标签: javascript jsf primefaces