Primefaces对话框在隐藏后保持焦点
Primefaces dialog keeps focus after being hidden
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中的错误?如有任何帮助,我们将不胜感激:)
它正在使用:
document.activeElement.blur()
而不是:
PF('dlg').blur()
相关文章:
- Firefox-当不在输入控件上时隐藏焦点高亮显示
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 如何在没有科尔多瓦插件的情况下隐藏软键盘,也不会失去焦点
- Primefaces对话框在隐藏后保持焦点
- 如何在隐藏的文本框上设置焦点
- 根据选择选项的焦点隐藏和显示
- 在Firefox中的keydown事件中隐藏元素时焦点顺序错误
- 为什么我不能在 Javascript 中或从代码隐藏中将焦点设置为 ASP.Net TextBox 控件
- 如何在焦点上隐藏jquery掩码中的括号和连字符
- 如何在涉及回发时从代码隐藏将焦点设置为文本框
- 失去父焦点时隐藏无序列表
- 在焦点上显示和隐藏不同的元素
- 失去焦点时隐藏纸质菜单
- 隐藏 iOS 键盘,保持对文本字段的焦点
- qTip2隐藏-组合无焦点、非活动和固定
- 在输入焦点时隐藏ios设备上的键盘
- 失去焦点时隐藏元素
- 当文本焦点(键盘打开)固定的标题隐藏(消失)
- 在输入:焦点隐藏其他输入与jQuery
- 输入切换焦点隐藏提交按钮时,试图单击它