Html 在slider(Chrome)中的表单字段中进行选项卡切换时出现意外滚动

Html 在slider(Chrome)中的表单字段中进行选项卡切换时出现意外滚动,html,css,google-chrome,scroll,onfocus,Html,Css,Google Chrome,Scroll,Onfocus,我在JavaScript滑块中有一个表单如果我使用tab键将焦点放在已经有内容的表单字段上,浏览器会意外地滚动滑块。我只在Chrome(Ubuntu 14.04上的版本40.0.2214.91(64位))中见过这种情况。我想知道是否有其他人有过这种经历,如果有,你能找到一份工作吗 下面是一段代码片段,我用它来重现问题并缩小促成条件(也在): .viewport{ 边框:2件纯蓝; 宽度:400px; 溢出:隐藏; } .滑块{ 边框:2倍纯红; 宽度:600px; } .表格包装{ 宽度:20

我在JavaScript滑块中有一个表单如果我使用tab键将焦点放在已经有内容的表单字段上,浏览器会意外地滚动滑块。我只在Chrome(Ubuntu 14.04上的版本40.0.2214.91(64位))中见过这种情况。我想知道是否有其他人有过这种经历,如果有,你能找到一份工作吗

下面是一段代码片段,我用它来重现问题并缩小促成条件(也在):

.viewport{
边框:2件纯蓝;
宽度:400px;
溢出:隐藏;
}
.滑块{
边框:2倍纯红;
宽度:600px;
}
.表格包装{
宽度:200px;
边框:2倍纯绿;
}
输入{
宽度:190px;
}


单击字段1,然后按tab键将焦点放在字段2上。

我找到了一个快速解决方案,这有时有点令人讨厌,但需要添加一个事件处理程序,以便在将焦点放在滑块中的输入中时使用

这是我的密码

$('.bx-viewport input').focusin(function() {
    setTimeout(function() {             // setTimeout makes sure that this runs after 
                                        // the original problem (it had a delay)
       $('.bx-viewport').scrollLeft(0); 
    }, 0);
}); 
因此,您的解决方案应该是找出哪个元素应用了scrollLeft并将其设置为零

以下是工作指南: