问题描述
我注意到包括页面上的Foundation在内,window.onload事件被触发了两次
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.6.3/js/foundation.min.js"></script>
<script>
window.onload = function() {
alert('onload');
}
</script>
</head>
<body>
<div>gjgjhj</div>
</body>
</html>
这是正确的行为吗?
谢谢
解决方法
祝贺您关于堆栈溢出的第一个问题!是的,这是预期的。如果您稍作尝试,可以在注释掉foundation.min.js
导入行时看到,如下所示:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.6.3/js/foundation.min.js"></script> -->
<script>
window.onload = function() {
alert('onload');
}
</script>
</head>
<body>
<div>gjgjhj</div>
</body>
</html>
它只会加载一次页面。因此,第二次加载您页面的人是Foundation javascript。它将重新加载您的页面以加载所有Foundation功能。
您可以在此处查看其功能:https://stackoverflow.com/a/23316686/1537413