欢迎光临

木子屋

标题: 在不改变原函数前提下对函数进行扩展

作者: dnawo

日期: 2008-10-29 01:21 AM

分类: 脚本语言

内容: 假如一个html页面中引用了一个外部js文件，js文件中定义了window.onload=fun(){}，现在的问题是我们不能确定html页面中是否也有定义window.onload=fun(){}，并要求html页面中的window.onload仍要能正常执行！下边我们来看看怎么实现(为了方便说明，下边示例js代码都在html页面中)：
复制内容到剪贴板 程序代码window.onload = function(){alert("aaa");}
window.onload = function(){alert("bbb");}
上边代码中第二个window.onload定义覆盖了第一个，因而alert("aaa")没有执行，而我们的要求是"aaa"和"bbb"都要弹出来！下边是我想出的一种解决方法：
复制内容到剪贴板 程序代码window.onload = function(){alert("aaa");}
var WindowOnLoad = window.onload ? window.onload : function(){};
window.onload = function(){
WindowOnLoad();
alert("bbb");
}
经测试是可行的，但实际使用时必须保证引用外部脚本代码放在页面最底部，否则js文件中的window.onload可能会被覆盖而无法执行。

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.676 ms

返回

标题: 在不改变原函数前提下对函数进行扩展

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.676 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.707 ms

返回