在firefox中可以';无法从javascript中的silverlight对象获取键盘焦点

在firefox中可以';无法从javascript中的silverlight对象获取键盘焦点,javascript,silverlight,firefox,focus,Javascript,Silverlight,Firefox,Focus,我有一个silverlight对象,它一直抓住键盘焦点,但我无法恢复焦点。我有一个带有菜单的javascript应用程序,用户可以通过按“enter”键选择一个选项。在用户单击silverlight对象之前,“Enter”一直有效。我尝试使用以下方法创建解决方案: Epg.prototype.grabClick = function(screen){ // Hack for Mac+Firefox - when you click the screen, we must recover

我有一个silverlight对象,它一直抓住键盘焦点,但我无法恢复焦点。我有一个带有菜单的javascript应用程序,用户可以通过按“enter”键选择一个选项。在用户单击silverlight对象之前,“Enter”一直有效。我尝试使用以下方法创建解决方案:

Epg.prototype.grabClick = function(screen){
    // Hack for Mac+Firefox - when you click the screen, we must recover focus from Silverlight
    screen.div.click(function(event){
       if ($.browser.mozilla) {
            window.blur();
            window.focus();
        }
    });
}

这个问题不会发生在只使用Chrome浏览器的Firefox中。提前谢谢

我认为window.focus()在firefox中不能正常工作。你能在窗口中选择一些元素并使用它来聚焦吗?

你可能不得不接受它,除非你可以访问对象的源代码,并且可以通过JS API或其他方式强制它释放聚焦。如果一个对象正在积极地试图窃取焦点,那么您没有很多选择。几乎在浏览器窗口中嵌入对象的任何位置都可以看到这种行为。Flash应用程序和嵌入式PDF都倾向于窃取键盘焦点。