jsfiddle在这里 http://jsfiddle.net/wmil/3arLjemp/
这是 IE 特有的错误,我正在寻找解决方法。
当我应用 CSS 时transform: translate
到具有焦点的文本输入transition
设置为有效的值后,当元素移动时光标将停留在旧位置。
一旦开始输入,它就会移动到正确的位置,但在此之前,光标会在旧位置顽固地闪烁。
这段代码说明了问题......再说一次,这是一个 IE 特定的错误。
var toggleTop = function(){
$('.input-container').toggleClass('top');
$('#the-input').focus();
}
$('#the-button').click(toggleTop);
.input-container {
top: 100px;
left: 100px;
position: fixed;
transition: all 1s;
}
.input-container.top {
transform: translateY(-100px);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='input-container'>
<input type='text' id='the-input'></input>
</div>
<button id='the-button'>Click Me!</button>
一年过去了,我也遇到了这个问题。这是我根据接受的答案的代码和解释用来修复它的 angular.js 指令。
angular.module('my.directive')
.directive('custom-auto-focus', function ($timeout) {
return {
link: function (scope, elm) {
$timeout(function() {
elm[0].focus();
}, 350);
}
};
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)