Javascript 从页面底部到顶部进行选项卡切换时,焦点在导航栏后面丢失
对于我们的intranet站点,我们使用的是位于浏览器顶部固定位置的。在这个特定的页面上,用户将希望通过两列输入字段进行水平制表 Chrome 然而,在Chrome中,当用户从一列的底部到下一列的顶部进行制表时,浏览器通过将滚动条移动到最顶部来容纳用户,从而允许用户查看焦点当前所在的字段。下面是一个屏幕截图,显示了我的意思: Internet Explorer 然而,在IE(版本8、9和10)中,输入字段被移动到浏览器的最顶端,并在导航栏后面丢失,如下所示:Javascript 从页面底部到顶部进行选项卡切换时,焦点在导航栏后面丢失,javascript,jquery,internet-explorer,google-chrome,Javascript,Jquery,Internet Explorer,Google Chrome,对于我们的intranet站点,我们使用的是位于浏览器顶部固定位置的。在这个特定的页面上,用户将希望通过两列输入字段进行水平制表 Chrome 然而,在Chrome中,当用户从一列的底部到下一列的顶部进行制表时,浏览器通过将滚动条移动到最顶部来容纳用户,从而允许用户查看焦点当前所在的字段。下面是一个屏幕截图,显示了我的意思: Internet Explorer 然而,在IE(版本8、9和10)中,输入字段被移动到浏览器的最顶端,并在导航栏后面丢失,如下所示: 当焦点设置在第二列的顶部输入字段
当焦点设置在第二列的顶部输入字段时,是否有一种语法调整IE滚动条位置的方法 如果将类
first input
应用于导致此问题的每个输入,那么此JS/jQuery代码可能会有所帮助
$(window).keyup(function(event) { // Catch all keyboard events
if (event.keyCode == 9) { // We only care about the TAB Key
var $activeEl = $(document.activeElement); // Get the currently focused element
if ($activeEl.hasClass('first-input')) { // If the element is a first-input...
console.log("We hit a first-input, adjust scroll.");
$(window).scrollTop($(window).scrollTop() - 50); // Adjust scroll
} // You can increase the number
}
});
可能有一种方法可以检查它是否是第一个输入(除了使用硬编码的类名),但这是我想到的最快的方法。您能提供一个链接来测试您的问题吗?不幸的是,它是一个内部网站,因此您无法访问它,除非您为我们工作;)这在Chrome中运行良好(同样如此),但在IE中我遇到了以下错误:
SCRIPT438:Object不支持属性或方法“apply”