【问题标题】:JQuery Modal Form Input Field Autofocus IssuesJQuery 模态表单输入字段自动对焦问题
【发布时间】:2011-10-12 16:42:54
【问题描述】:

我遇到了一个带有许多标签和相应输入字段的 JQuery 模式表单的问题。

当我打开 JQuery 模式表单并向下滚动时会出现此问题。当我关闭并重新打开 JQuery 模式表单时,表单会自动滚动,以便第一个输入字段位于表单顶部并具有键盘焦点。但是,这会切断第一个输入字段上方的标签和标题。

我已经尝试过 $("input").blur(),并且成功地禁用了第一个输入元素上的键盘焦点,但是模态表单仍然自动滚动,以便第一个输入表单与屏幕顶部齐平.

我还尝试在 JQuery 模态表单中将隐藏输入字段置于其他所有内容之上,但 Firefox 对此很聪明,并且仍然滚动到第一个活动的非隐藏输入元素。

以前有没有人遇到过这种情况,如果有,有没有人知道正确的解决方法?

【问题讨论】:

  • 只是在思考...打开时重新加载模态的内容会不会有问题?这应该可以解决问题,尽管以服务器请求为代价。
  • 当您说“当我打开 JQuery 模态表单并向下滚动时”,我想知道为什么要关注第一个控件?您在任何地方都没有一些 javascript 执行 focus()scrollIntoView() 吗?
  • 否定,我根本没有在我的代码中调用任何 focus() 或 scrollIntoView() 函数。我认为它与 JQuery 相关,但我不确定。我可以重新加载模式的内容,但我在一个框架内工作,服务器请求涉及显着延迟(5-10 秒,可怕),所以我在页面加载时将自己限制为一个服务器请求。我已经解决了这个问题(见下文),虽然我很沮丧这似乎是一个框架或 JQuery 怪癖。

标签: javascript jquery forms firefox focus


【解决方案1】:

问题已解决。我在 JQuery 模态对话框 div 本身上使用了 scrollTop() 方法,如下所示:

$("对话框").scrollTop(0);

这与自动对焦/模糊问题是分开且不同的,因为 Firefox 的自动定位显然与其自动对焦无关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-20
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 2016-03-07
    • 1970-01-01
    相关资源
    最近更新 更多