Pya*_*ung 26 html javascript internet-explorer internet-explorer-9 internet-explorer-10
里面有一个iframe的网页.有时,iframe内的输入文本框控件被锁定/冻结.用户无法在其中输入文本.但文本框可以聚焦而不是褪色.没有代码可以禁用输入控件,但这并不总是发生.到目前为止,这只发生在IE 9和IE 10中.Firefox和Chrome都可以.
页面工作原理的简要说明如下:
父页面上有一个按钮.通过单击它将从头开始构建一个iframe并显示它.这是通过Javascript完成的.
同样,iframe上有一个按钮可以关闭它.通过单击它将
从父页面的DOM中删除iframe.
如果您需要更多信息,请告诉我.提前致谢.
Wil*_*ung 35
这个错误很烦人,更糟糕的是我们在google上找到的信息非常少.
微软只有一个关于IE9的链接,但问题仍然存在于IE10/IE11中,并且更容易重现.
我刚刚创建了一个小提琴来描述这个问题
http://jsfiddle.net/WilliamLeung/T3JP9/1/
为什么M $多年来难以解决这个问题?
应该有三种解决方法
或安排一个"无所事事"耗时的任务,这可能会让IE神奇地回应鼠标事件,我无法告诉你为什么,也许M $可以
设置耗时任务的示例代码
setInterval(function () {
var loopCount = 10000;
var x = 0;
for (var i = 0; i < loopCount; i++) {
x = (x + Math.random() * 1000) >>> 0;
}
return x;
}, 1000);
Run Code Online (Sandbox Code Playgroud)或者在从文档中删除DOM内容之前重置它
someDivWithIframe.innerHTML = "";
$(someDivWithIframe).remove();
Run Code Online (Sandbox Code Playgroud)
我不确定它是否对所有情况都有帮助,你应该试一试
jQuery的解决方案适用于IE11,而不是其他解决方案.
$(theIframeElement).empty().remove();
在IE9/10上工作的另一个解决方案是在删除之前将iframe src设置为空
iframe.src=""
但是,如果您使用较旧的jQuery版本<1.11.1,则会在IE11上导致异常"拒绝访问"
一些链接:有关信息,jQuery还为其在iframe中显示内容的Dialog.js插件修复了此问题:http://bugs.jqueryui.com/ticket/9122
jQuery错误修复IE11"访问被拒绝"错误:http://bugs.jquery.com/ticket/14535
归档时间: |
|
查看次数: |
17624 次 |
最近记录: |