我的这行不适用于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中工作。我猜如果第二个有效,第一个也可以。
有谁知道如何解决这个问题? 提前谢谢。
答案 0 :(得分:2)
您在上述评论中发布的代码无效,因为您在子帧完成加载about:blank文档之前设置了侦听器。所以你要在临时文档上设置一个监听器,然后就会消失。
Gecko很可能会在某些时候更改行为,以便更接近你在IE和WebKit中看到的内容,因为HTML5规范实际上定义了如何:空白应该表现....
答案 1 :(得分:0)
我花了将近一个小时才找到解决方案,但我做不到。我认为原因是,Mozilla基础已经实现了IFrame对象的基础知识,因此您无法分配事件处理程序。与eventhandler相比,您可以修改css样式(请参阅此example)。
window.frames [0] = .document.onkeydown函数(e)中{ 警报( 'B'); }
我使用DOM-Inspector来确定此代码指向的对象。在我看来,它指向了Firefox的DOM的全局对象。
PS:如果我错了,请纠正我。