如何使用浏览器收听窗口的焦点事件?

时间:2011-01-21 19:52:01

标签: javascript xul

运行此示例:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window width="640" height="480"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    onload="">

    <script>
        <![CDATA[
            function onfocus() {
                dump("FOCUSED!\n");
            }
            window.addEventListener("focus", onfocus, false);
        ]]>
    </script>

    <browser id="gmail" type="content" src="http://gmail.com/" flex="1" />
    <button label="click here to remove the focus from the browser"/>

</window>

..您可以看到window的焦点事件只有在browser 时才会被抛出。我在底部添加了一个按钮,因此您可以从浏览器中删除焦点并查看我的意思:

  • 如果button已经集中,您最小化并恢复窗口,您将看到焦点事件发生。
  • 如果browser处于焦点,您最小化并恢复窗口,焦点事件将

我需要在browser有焦点的时候发生这个焦点事件,知道如何实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

请尝试使用activate事件。