每日一题_JavaScript.两种方式实现网页加载后onload绑定多个函数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一题_JavaScript.两种方式实现网页加载后onload绑定多个函数?相关的知识,希望对你有一定的参考价值。
具体需求:
1. 为网页加载后触发的onload事件绑定多个执行函数
实现思路:
1. 可直接给onload绑定一个匿名函数,匿名函数内部调用多个函数
2. 可自定义个函数,首先保存之前window.onload的值,然后判断window.onload的类型是否为function,如果不是就让window.onload的值设置为自定义的函数,否则就先执行window.onload之前绑定的函数,然后在执行自定义的函数
具体代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <script type="text/javascript"> function func1(){ alert(/(?:function)([^\(]+)/.exec(arguments.callee)[1]) } function func2(){ alert(/(?:function)([^\(]+)/.exec(arguments.callee)[1]) } // 方法一, 给onload绑定一个匿名函数,在匿名函数内部调用多个函数 window.onload = function(){ func1() func2() } // 方法二, 定义一个函数来接受要绑定的方法,判断window.onload当前值来加载执行 function addOnLoadEvent(func){ var oldOnLoad = window.onload if(typeof window.onload == ‘function‘){ window.onload = function(){ oldOnLoad() func() } }else{ window.onload = func } } addOnLoadEvent(func1) addOnLoadEvent(func2) </script> </body> </html>
总结说明:
1. 强烈推荐第二种更加灵活的方式来创建多函数绑定,其实此方法还可以支持大多数内置事件处理方法,但是一定要注意的是一定要将函数赋值给window.onload,千万不要直接调用,不然会出现意想不到的结果.
本文出自 “ζ自动化运维开发之路ζ” 博客,请务必保留此出处http://xmdevops.blog.51cto.com/11144840/1854704
以上是关于每日一题_JavaScript.两种方式实现网页加载后onload绑定多个函数?的主要内容,如果未能解决你的问题,请参考以下文章
每日一题_JavaScript.利用纯JavaScript Dom Core实现一个图片轮播效果 ?