【发布时间】:2014-06-13 17:27:19
【问题描述】:
我试过谷歌搜索,但无法表达我的要求。
似乎有不同的方式来触发事件,我想知道它们之间是否有区别。
在路上例如:
window.onload=function(){headerAdjustWidth();thumbsArrange();checkHash();}
window.onscroll=function(){windowScrollStore();}
window.onresize=function(){headerAdjustWidth();thumbsArrange();windowScrollAdjust();showExpanded(false);}
window.onkeydown=function(){checkKeyboard();}
另一种方法是
<body onKeyDown="checkKeyboard();" onLoad="headerAdjustWidth();thumbsArrange();checkHash();" onScroll="windowScrollStore();" onResize="headerAdjustWidth();thumbsArrange();windowScrollAdjust();showExpanded(false);">
到目前为止,每种方法有什么优点/缺点吗?
另一件事是关于 onload 函数,有什么理由我应该/不应该把它们直接放在
<script type="text/javascript">
headerAdjustWidth();
thumbsArrange();
checkHash();
</script>
最后,有什么理由我应该做 window.onscroll=function(){windowScrollStore();} 而不是 window.onscroll=windowScrollStore?
【问题讨论】:
-
使用
onload和<script>标签之间的主要区别之一是,在完全接收到图像等所有资产之前,不会触发此事件。你也可以有一个onload事件处理程序,所以如果另一段JavaScript 决定使用onload,你的代码将会被吹走。这也是很多 JS 框架提供替代事件(例如jQuery.ready())的原因之一。 -
@PaoloMoretti 谢谢,我已经将它全部放在
标签: javascript html events onload