我有一个问题,关于html输入标签或primefaces p:input。 为什么光标始终自动跳转到输入字段。我的页面高度很高,因此您需要向下滚动。 inputfield位于页面的末尾,光标自动跳转(onload)到页面的末尾,进入inputfield。我怎么能避免这种自动跳跃?
<h:form id="form">
<p:commandButton oncomplete="PF('dlgG').show();" value="Open"
id="button" update="dialog" partialSubmit="true" />
<p:dialog appendToBody="true" appendTo="@(body)" modal="true"
id="dialog" resizable="false" closeOnEscape="true" widgetVar="dlgG"
showEffect="drop" hideEffect="drop">
<div
style="width: 90%; height: 100px; background: black; margin-bottom: 1000px;color:red;" id="demo"></div>
<p:inputTextarea autoResize="true" rows="3" cols="100"
value="#{auftragBean.comment}" id="inputBox" />
</p:dialog>
</h:form>
答案 0 :(得分:1)
'why'是一个文档和showcase问题(又名RTFM; - )):
p:dialog
有一个focus
属性,可在page 183 of the 5.3 documentation上阅读
focus null String Defines which component to apply focus
并在page 184上说:
<强>焦点强>
默认情况下,对话框会将焦点应用于显示的第一个可见输入,这对用户友好性非常有用 但在某些情况下,这是不可取的。假设第一个输入是弹出日历并打开 该对话框显示一个弹出日历。要自定义默认焦点行为,请使用焦点属性。
最有可能通过在顶部添加虚拟输入而不引用值并在其onfocus属性中赋予“blur()”来实现预防。但您也可以使用this other stackoverflow post中的解决方案(onShow
未接受的解决方案)