我们在页面上有div叠加和输入,而在某些操作上我们显示模型窗口(这里是自定义菜单)。
问题:在Internet Explorer中,当我们关注时模型窗口在前景中 在文本输入和问题上,它的光标在模型窗口上闪烁。 请参阅Internet Explorer上附带的小提琴。我已经在IE10和11上测试了它。
HTML:
<button onclick="showDiv()">Show Div</button>
<div>
</div>
<input type="text" />
script:
function showDiv (){
$('div').show()
setInterval(function(){
$('input').focus();
},200);
}
答案 0 :(得分:1)
此问题似乎已在其他地方记录,并且似乎是IE错误:Cursor/caret bleeding through overlay in IE
但是,这是一个有望满足您需求的修改后的解决方案 - 将此jQuery代码添加到您的页面中,如果覆盖div可见,它将把焦点从输入中移开:
(function () {
if ( document.documentMode && document.documentMode < 12 ) {
$( document ).on( "focus", ":input", function ( event ) {
if ($('div').is(':visible')) {
event.target.blur();
};
});
}
}());
这里是修改过的JSFiddle的答案:http://jsfiddle.net/qobvawr9/1/