【发布时间】:2014-02-25 16:03:00
【问题描述】:
我的页面上有多个标签。每个选项卡都使用局部视图加载。我想让默认焦点转到每个页面上的第一个“文本框”。这是我遇到的问题。我添加了这个简单的代码:
<script type="text/javascript">
$(document).ready(function () {
$(function () {
$("input[type=text]").first().focus();
});
});
</script>
我将此代码添加到布局母版页中,认为它只是默认为每个页面上的第一个文本框。然而事实并非如此。它将默认为加载的第一个选项卡上的第一个字段,但是当我导航到新选项卡时,没有焦点,当我导航回第一个选项卡时,仍然没有焦点。我还为每个部分添加了这个简单的代码,设置焦点没有运气。我也试过删除“document.ready”部分,没有运气。我已经尝试将其添加到每个单独的页面,以两种方式描述,但没有运气。有什么想法或想法吗?
【问题讨论】:
-
您发布的代码正在处理为“准备好文档,准备好文档,关注第一个文本输入”。您只需要其中一种准备好的方法:
$(document).ready(function () { $('input[type=text]').first().focus(); }); -
这仍然不能解决选项卡之间导航的问题。使用您或我的代码,它将第一个文本框聚焦在选项卡 1 上,但是当我单击选项卡 2 时,它会失去焦点,并且永远不会重新获得焦点。如上所述,标签是使用部分视图加载的,我什至尝试将代码添加到部分视图中,但没有成功。
-
标签实际上是新页面,还是在同一页面上的客户端处理切换?我想问一个更好的方法...当您转到新标签时,网址会改变吗?
-
如果你想将第一个文本框聚焦在每个选项卡上,你还需要处理选项卡切换事件来设置它
-
网址不变。选项卡切换是在客户端处理的,因为没有调用加载这些选项卡的方法。