【问题标题】:Avoid/Disable autojump to inputfield避免/禁用自动跳转到输入字段
【发布时间】:2016-01-22 11:37:40
【问题描述】:

我有一个关于 html 输入标签或 primefaces p:input 的问题。 为什么光标总是自动跳入输入字段。我的页面高度很高,因此您需要向下滚动。输入字段位于页面末尾,光标会自动跳转(加载)到页面末尾进入输入字段。我怎样才能避免这种自动跳跃?

<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>

【问题讨论】:

    标签: javascript html primefaces


    【解决方案1】:

    “为什么”是一个文档和showcase 问题(又名 RTFM ;-)):

    p:dialog 有一个focus 属性,可以在page 183 of the 5.3 documentation 上读取

    focus null String Defines which component to apply focus

    page 184 上面写着:

    专注

    默认情况下,对话框将焦点应用于显示的第一个可见输入,这对用户友好性很有用 但是在某些情况下,这是不可取的。假设第一个输入是弹出日历并打开 该对话框显示一个弹出日历。要自定义默认焦点行为,请使用 focus 属性。

    防止它很可能通过在顶部添加一个不引用值的虚拟输入来实现,并在其 onfocus 属性中给出一个'blur()'。但您也可以使用this other stackoverflow post 的解决方案(onShow 不接受的解决方案)

    【讨论】:

    • 感谢分享!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多