gpt4 book ai didi

javascript - 调整到 0 高度时未触发调整大小事件?

转载 作者:行者123 更新时间:2023-11-30 20:34:59 25 4
gpt4 key购买 nike

当我遇到一个奇怪的问题时,我目前正在研究调整大小的功能。当我将窗口调整到最小高度时(只显示带有最小化和关闭功能的顶部窗口栏),没有触发 javascript 事件。

我可以看到它在所有其他高度和宽度下工作,但在调整到最小高度时没有触发任何事件。我还尝试记录文档正文并检查此时它是否为空,它不是...

注意事项:

Im using Google Chrome (v66) latest.windows 10 (doubt this is really relevant, unless someone using mac etc says it is working in their chrome version)

Update to the above: Ive noticed my original solution works on chrome in mac (latest version 66), but no event occurs in chrome (latest version 66) on Windows.

这只是 javascript,我不明白为什么当高度为 0 时没有触发事件(68 是我能够调整到的最小高度,事件仍在触发,之后只有顶部工具栏可见) .

我有一个小的 html 测试来尝试在下面看看我在说什么 - 或者创建一个演示会非常简单。

<!DOCTYPE html>
<html>
<body>

<p>Open a new window, and resize the width and height of the new window.</p>

<button onclick="openWin()">Create window</button>
<button onclick="resizeWinTo()">Resize the window to 800px * 600px</button>
<button onclick="resizeWinBy()">Make the new window smaller</button>

<script>
var myWindow;

function openWin() {
myWindow = window.open("", "", "width=250, height=250");
myWindow.onresize = function (event) {
console.log(myWindow.outerHeight);
console.log(myWindow.outerWidth);
};
}

function resizeWinTo() {
myWindow.resizeTo(800, 600);
myWindow.focus();
}

function resizeWinBy() {
myWindow.resizeBy(-100, -50);
myWindow.focus();
}
</script>

</body>
</html>

有什么建议可以发送到哪里以获取更多信息,例如 chrome 的 windows 开发人员?

最佳答案

为什么高度为0时不触发事件?

这是因为您已达到窗口的最小外部高度(68,在您的情况下是标题/顶部栏的高度),您不能低于最小外部高度。

如果你想获取内容的高度。你应该使用 innerHeight 而不是 outerHeight

为了改变

console.log(myWindow.outerHeight);

console.log(myWindow.innerHeight);

因为 outerHeight 正在考虑您的情况下标题/顶部栏的高度。

引自MDN Docs

outerHeight : Gets the height of the outside of the browser window.

innerHeight : Gets the width of the outside of the browser window.

关于javascript - 调整到 0 高度时未触发调整大小事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49938873/

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