检测Adobe AIR中窗口的焦点

检测Adobe AIR中窗口的焦点,air,adobe,Air,Adobe,我一直在使用HTML/JavaScript在AdobeAIR中构建一个应用程序 这些窗口都是无铬的,并使用CSS将其样式设置为应用程序 如何检测窗口是否被用户聚焦,以便我可以改变窗口的颜色,就像本地窗口有更细微的阴影一样 例如: var active = false; $(document).ready(function() { active = nativeWindow.active; if(active) {

我一直在使用HTML/JavaScript在AdobeAIR中构建一个应用程序

这些窗口都是无铬的,并使用CSS将其样式设置为应用程序

如何检测窗口是否被用户聚焦,以便我可以改变窗口的颜色,就像本地窗口有更细微的阴影一样

例如:

var active = false;

$(document).ready(function() {

                active = nativeWindow.active;

                if(active) {
                    $('body').addClass('active');
                } else {
                    $('body').removeClass('active');
                }

});

但是如何正确处理活动事件的更改?

您可以使用:air.NativeWindow.active执行此操作。见:

更新

window.nativeWindow.addEventListener(air.Event.ACTIVATE, function() {
    $('body').addClass('active');
});

window.nativeWindow.addEventListener(air.Event.DEACTIVATE, function() {
    $('body').removeClass('active');
});

假设我想在窗口是否处于活动状态的情况下向文档主体添加一个活动类。我该怎么做?谢谢。您使用JQuery或类似的工具吗?问题是在活动状态发生变化时调用if语句中的代码。目前它只发生在文档加载时。编辑了我的答案。现在窗口有两个事件监听器,不管它是否处于活动状态。忘了什么-必须是window.nativeWindow,而不仅仅是window和air.Event,而不仅仅是Event。更新了我的代码。