繁体   English   中英

window.frames [0] .document.onkeydown无法在Firefox中运行

[英]window.frames[0].document.onkeydown not working in Firefox

我有这条线在Firefox中不起作用(在IE和Chrome中完美运行)

ste.frame.document.onkeydown=function(e) {
    alert('a');
};

这里ste.frame是一个窗口对象[对象窗口]。 我试过了

window.frames[0].document.onkeydown=function(e){
    alert('b');
}

还在IE和Chrome中工作,而不是在Firefox中工作。 我猜如果第二个有效,第一个也可以。

有谁知道如何解决这个问题? 提前致谢。

您在上面的注释中发布的代码不起作用,因为您在子帧完成加载其about:blank文档之前设置了侦听器。 所以你要在一个临时文档上设置一个监听器然后消失。

Gecko很可能会在某些时候更改行为,以便更接近你在IE和WebKit中看到的内容,因为HTML5规范实际上定义了如何:空白应该表现....

我花了差不多一个小时才找到解决方案,但我做不到。 我认为原因是,Mozilla基础已经实现了IFrame对象的基础知识,因此您无法分配事件处理程序。 与eventhandler相比,您可以修改css样式(请参阅此示例 )。

window.frames [0] .document.onkeydown = function(e){alert('b'); }

我使用DOM-Inspector来确定这个代码指向的对象。 在我看来,它指向Firefox的DOM的全局对象。

PS:如果我错了,请纠正我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM