tabs - TabIndex - 点击选项卡将我移动到地址栏 - 无法使用焦点或 +tab 索引解决此问题

标签 tabs

我读过几个主题,讨论 IE 中的地址栏在使用 TAB 时基本上是第一个获得焦点的主题(MSDN 自己的文档讨论了这一点)。

然而,我也见过一些情况,但情况并不总是如此......

我有一个母版页,内容区域内有一个 formView。

它默认为INSERT View 并且永远不能离开它(它们只能插入不能编辑并且读取在其他地方处理)

因此,在我的页面上加载我所拥有的页面:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If fvwLogEntry.CurrentMode = FormViewMode.Insert = True Then
            'Set the default field to position the cursor there...hopefully
            Dim FCtxtHrEmployeeId As TextBox
            FCtxtHrEmployeeId = CType(fvwLogEntry.FindControl("txtHrEmployeeId"), TextBox)
            Page.SetFocus(FCtxtHrEmployeeId.ClientID.ToString)
        End If

现在可以了,当页面加载时,它将光标设置到表单 View 的 INSERT 模板内的employeeID 文本框。

但是,当我按 TAB 时,它会将我带到地址栏,然后如果我再次按 Tab,它会带我浏览页面上的其余项目。

我将第一个项目的选项卡索引设置为 11,然后从那里递增(我读过 IE 的工具栏也有选项卡索引,所以我想也许使用更高的数字会绕过这些索引,但这并不能真正使感觉,因为它仍然会从最低的数字开始,但我试了一下,认为它会从设置焦点的位置向前移动。)如果我单击文本框,然后按 TAB 键,它会像我期望的那样在页面中移动.

当页面加载并将焦点设置到员工 ID 文本框时,点击 Tab 键会将其移动到地址栏。

我还尝试将其他控件设置为 -1(那些我不希望它按 Tab 键的控件),但仍然没有运气。

那么...我能做些什么来解决这个问题?

必须有一种简单的方法将焦点设置到employeeID文本框,并确保在此之后按TAB键移动到表单 View 插入模板中的下一个控件并且不会跳转到地址栏?

最佳答案

下面的 jquery 代码似乎对我来说工作得很好..

$(window).load(function () {
    $('.myClass :visible:input:enabled:first').focus();
});

$('body').on('keydown', '.myClass :visible:input:enabled:first', function (e) {
    if ((e.which == 9) || (e.keyCode == 9)) {
        $('.myClass :visible:input:enabled:first').focus();
    }
});

关于tabs - TabIndex - 点击选项卡将我移动到地址栏 - 无法使用焦点或 +tab 索引解决此问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18207496/

相关文章:

reactjs - 单击 ReactJS 的图像后打开新选项卡

jquery - 如何使用 Jquery UI 设置默认选项卡

java - addListener 按钮在 android studio 中的 fragment 中不起作用

android - 如何在 Android 选项卡之间进行通信

c# - 制作透明标签背景?

java - JTabbedPane 中禁用的选项卡上的单击事件

jQuery UI 选项卡 - 将选项卡绑定(bind)到同一页面上的链接

android - 选项卡控件类未从登录屏幕获取数据

javascript - 默认选项卡不适用于 JavaScript

jquery - 事件下 zipper 接