• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Javascript实例教程:共享onload事件_js

javascript 搞代码 7年前 (2018-06-13) 98次浏览 已收录 0个评论

文章简介:不管你打算在页面加载完毕时执行多少个函数,他都可以应付自如。这个方案需要额外编写一些代码,但好处是一旦有了那些代码,把函数绑定到window.onload事件就非常易行了。

假设两个函数:firstFunction和secondFunction。如果想让这两个函数都在页面加载时得到执行,该怎么办?如果把它们逐渐绑定到onload事件上,它们当中将只有最后那个才会被实际执行:

window.onload = firstFunction; window.onload = secondFunction;

secondFunction 将取代firstFunction。你可能会想:每个事件处理函数只能绑定一条指令。

有一种办法可以避免这一难题:可以先创建一个匿名函数来容纳这两个函数,然后把那个匿名函数绑定到onload事件上,如下所示:

window.onload = function () {     firstFunction();     secondFunction(); }

他确实能很好的工作——在需要绑定的函数不是很多的时候,这应该是最简单的解决方案了。

这里还有一个弹性最佳的解决方案——不管你打算在页面加载完毕时执行多少个函数,他都可以应付自如。这个方案需要额外编写一些代码,但好处是一旦有了那些代码,把函数绑定到window.onload事件就非常易行了。

http://www.gaodaima.com/29490.html

下面是addLoadEvent函数将要完成的操作。

  • 把现有的window.onload事件处理函数的值存入变量oldonload。
  • 如果在这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它。
  • 如果在这个处理函数上已绑定了一些函数,就把新函数追加到现有指令的末尾。
function addLoadEvent(func) {     var oldonload = window.onload;     if (typeof window.onload != 'function') {         window.onload = func;     } else {         window.onload = function () {             oldonload();             func();         }     } }

这将把那些在页面加载完毕时执行的函数创建为一个队列。如果想把刚才那两个函数添加到队列里去,只需要写出以下代码就行了:

addLoadEvent(firstFunction); addLoadEvent(secondFunction);

这个函数非常实用,尤其是在代码量变得越来越复杂的时候。无论打算在页面加载完毕时执行多少个函数,只要多写一条语句就就可以安排好一切。

欢迎大家阅读JavaScript实例教程:共享onload事件_js,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Javascript实例教程:共享onload事件_js

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址