gpt4 book ai didi

javascript - 移动窗口时激活/停用事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:46:47 25 4
gpt4 key购买 nike

在我的 Firefox 扩展中,我试图跟踪窗口何时实际上是事件窗口。为此,我将以下两个监听器添加到窗口:

  window.addEventListener("deactivate", function(event) { alert("deactivate"); }, false);
window.addEventListener("activate", function(event) { alert("activate"); }, false);

基本上一切正常。当我在不同的窗口之间切换,或最小化/最大化 Firefox 时,事件会像我预期的那样触发。但是,即使窗口已经处于事件状态,当我移动窗口时,这两个事件也会触发。当我开始移动窗口时,“停用”事件被触发;当我停止移动并释放鼠标按钮时,将触发“激活”事件。我不知道如何检测和忽略这种行为。直观地说,该窗口始终处于事件状态。

如果按下鼠标按钮,我会在处理“停用”事件之前尝试检查。但是,向窗口添加“单击”事件监听器似乎不包括窗口的标题栏。任何人都知道我如何区分“真正”取消/激活窗口和移动窗口?非常感谢!

最佳答案

您可以使用 this answer检测浏览器在屏幕上的位置。如果您在开始时这样做,您可以比较它们是否正在发生变化。

页面加载时的一些东西:

var x,
y,
win = window;

if(win.screenTop !== undefined) {
x = win.screenleft;
y = win.screenTop;
} else {
x = win.screenX;
y = win.screenY
}

并在事件触发时将这些值与当前值进行比较。

(注意这只在窗口的位置发生变化时有效)

关于javascript - 移动窗口时激活/停用事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8870465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com