【问题标题】:Detect focus of window in Adobe AIR在 Adob​​e AIR 中检测窗口的焦点
【发布时间】:2014-01-29 22:12:58
【问题描述】:

我一直在使用 HTML/JavaScript 在 Adob​​e AIR 中构建应用程序。

这些窗口都是无 Chrome 的,并使用 CSS 来设置它们的样式,使其看起来像一个应用程序。

如何检测窗口是否被用户聚焦,这样我就可以改变窗口的颜色,就像原生窗口有更微妙的阴影等一样。

一个例子可能是:

var active = false;

$(document).ready(function() {

                active = nativeWindow.active;

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

});

但是如何正确处理活动事件的变化呢?

【问题讨论】:

    标签: air adobe


    【解决方案1】:

    您可以通过以下方式执行此操作:air.NativeWindow.active。见:http://help.adobe.com/en_US/air/reference/html/flash/display/NativeWindow.html#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。更新了我的代码。
    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多