我注意到$.resize()
jQuery 的事件是在页面加载时触发的,而没有根据浏览器对窗口进行任何实际的“调整大小”。
它不仅会发射一次,有时甚至会发射两次。(在 Chrome 30.0.1599.101 m 中加载,在 Opera 中调整大小...)
这种行为正常吗?没有任何方法可以统一所有浏览器在加载网站时的这种行为吗?
resize
当调整大小已经完成(使用间隔)时,我已经只调用了一次,但这并不能解决在加载 Chrome 时触发事件的问题。
我无法创建重现此问题的小提琴,但您可以使用如下文件测试此行为:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(window).resize(function() {
alert("Fired!");
});
</script>
</head>
<body>
</body>
</html>
该事件将在您第一次使用 Chrome 加载页面时触发。它不会在任何刷新时触发。