【发布时间】:2015-03-04 06:45:44
【问题描述】:
我有一个元素 (#cols),它比 <body> 宽 3 倍。它有 3 列,每列的宽度与<body> 完全相同。单击按钮会将#cols 元素滑动一列的宽度,同时将<input> 聚焦在滑动到视图中的列中:
http://jsbin.com/puhurakewa/1/edit?html,css,js,output
从演示中可以看出,问题在于聚焦输入会导致奇怪的行为。我相信浏览器会说,
“废话,用户关注了屏幕外的输入。我需要显示它!”
然后神奇地将输入滚动到视图中。这会中断过渡。
有没有办法禁用这种行为?这是非常不可取的。我在我的 Mac 上的 Chrome、Safari 和 Firefox 中发现了它。
编辑:感谢您到目前为止的回答。我应该更具体地回答我的问题。我知道我可以通过等待动画结束来“解决”这个问题,但我很好奇的是如何解决这个问题并立即关注输入。这是一种更好的体验,因为用户可以在转换结束之前开始输入。
【问题讨论】:
-
“这是一种更好的体验,因为用户可以在转换结束之前开始输入。” -- 我的想法完全正确。不过我很好奇,你现在解决了吗?我现在也面临同样的问题(当然,如果我想出解决方案,我会立即发布)。
-
@JohnWhite 不,我只是放弃了滑动过渡。
标签: javascript html css onfocus