gpt4 book ai didi

javascript - html onresizeend 事件,或检测调整大小结束的等效方法

转载 作者:搜寻专家 更新时间:2023-10-31 08:12:48 24 4
gpt4 key购买 nike

我正在尝试检测 onresize 事件何时在浏览器中结束。如果我使用 onresize 事件,在 Firefox 中它似乎只被触发一次,在 resize 事件结束后,这正是我想要的。但是,如果我在 IE 中尝试,onresize 事件在调整大小时会被触发多次。

我还尝试了在 MSDN 中公布的 onresizeend 事件。但它似乎根本没有被解雇,无论是在 Firefox 中还是在 IE 中。我使用以下代码:

<html>
<head>
<script>
<!--
function doLog(message)
{
document.getElementById("log").innerHTML += "<br/>" + message;
}

function doResize()
{
doLog("plain resize");
}

function doResizeEnd()
{
doLog("resize end");
}
-->
</script>
<style>
<!--
#log {
width: 400px;
height: 600px;
overflow: auto;
border: 1px solid black;
}
-->
</style>
</head>
<body onresize="doResize();" onresizeend="doResizeEnd();">
<div id="log"/>
</body>
</html>

知道为什么这不起作用吗?也许不支持 onresizeend 事件?在这种情况下,如何检测 resize 事件何时结束?

最佳答案

来自 MSDN onresizeend()

Only content editable objects can be included in a control selection. You can make objects content editable by setting the contentEditable property to true or by placing the parent document in design mode.

这就解释了为什么它没有为您开火。我怀疑您不想启用 contentEditable,所以为什么不设置一个计时器。

var resizeTimer = 0;
function doResize()
{
if (resizeTimer)
clearTimeout(resizeTimer);

resizeTimer = setTimeout(doResizeEnd, 500);
}

它并不完美,但希望它足够好。

关于javascript - html onresizeend 事件,或检测调整大小结束的等效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/277759/

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