this.focus()在Firefox中无法正常工作

时间:2009-05-12 00:49:39

标签: javascript flex flash focus

我在从html文档中嵌入的flex应用程序激活时使用ExternalInterface调用。调用转到javascript函数

function documentFocus() {
  this.focus();
}

一切都像魅力一样,除了Firefox没有100%集中文档正文。它停止侦听onkeyup事件(它仍然注册onkeydown)。

非常奇怪的行为。有没有人知道发生了什么?

在此处尝试:http // www.willemdemmers.com / dplxr /

重现的步骤: 尝试使用箭头按钮查看正常行为(箭头图像在keydown上亮起红色并在keydown上停止亮起) 单击窗口底部的闪存以从文档正文中删除焦点并调用函数调用。 再次尝试箭头按钮,看看新的行为。

键盘事件从箭头键(左侧和右侧)触发。

谢谢!

4 个答案:

答案 0 :(得分:1)

这实际上是一个长期存在的Firefox错误,我希望将其修复。我不记得手头的Mozilla虫号。

答案 1 :(得分:0)

我认为问题是当点击它并将它从你身边拿走时,键盘上的闪光灯是贪婪的。

你可以在youtube上看到这个。选择视频时,您可以使用向上和向下箭头在页面上下滚动。但是当您点击闪光区域(视频)时,您将无法再进行此操作。因为flash抓住键盘。

答案 2 :(得分:0)

检查一下: http://code.google.com/p/custom-context-menu/

这是一个使用javascript禁用flash右键单击的项目,并在它执行此操作时告诉flash。此外,它适用于非常多的浏览器。

不是100%的解决方案,但您应该能够根据需要调整其JS代码

答案 3 :(得分:0)

您可以尝试聚焦隐藏(或绝对定位)输入元素,然后聚焦文档。因为输入几乎是原生元素,所以它可以提供帮助。

相关问题