JS技术

共享onload事件_Javascript教程

字号+ 作者:H5之家 来源:H5之家 2015-09-17 17:12 我要评论( )

共享onload事件,学习共享onload事件,共享onload事件,查看共享onload事件,假设两个函数:firstFunction和secondFunction。如果想让这两个函数都在页面加载时得到

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

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

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

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

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

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

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

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

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);

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

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评