我在 HTML 文件中有以下 JavaScript/jQuery 代码:
<html>
<head>
<script src="http://code.jquery.com/jquery-1.6.2.min.js"
type="text/javascript"></script>
<script language="javascript">
$(window).resize(function(){alert('hi');});</script>
</head>
<body>
resize me
</body>
</html>
它看起来相对简单,但是当我调整浏览器窗口大小时,我在 Chrome 和 IE9 上得到两个连续的警告窗口,而且我似乎使 Firefox5 崩溃了。
我错过了什么?每个维度 (x/y) 是一场火灾吗?
原文由 Matt 发布,翻译遵循 CC BY-SA 4.0 许可协议
你明白了,有些浏览器会在调整大小开始时触发并在结束时再次触发,而其他浏览器(如 FF)会连续触发。解决方案是使用
setTimeout
来避免一直开火。可以 在此处 找到示例。这是来自同一参考的代码: