JS 动态添加 onload、onresize、onscroll 事件

window 的 onload、onresize、onscroll 事件,跟其他的事件不一样,它不能用 attachEvent 或 addEventListener 来添加。

也就是说,它只能这样来(以 onload 为例,下同):

window.onload =  function()
{
    // ...
};

但这有个问题,就是想再为 onload 增加新的事件处理程序时,不能直接为 window.onload 赋值了,否则前面的赋值就会被覆盖了。

可这样做:

var oldLoadHandler = window.onload;
window.onload =  function()
{
    if (oldLoadHandler)
    {
        oldLoadHandler();
    }
    newLoadHandler();
};

ezj 中,就更加方便了。

$(window).ready(onloadHandler1);
$(window).ready(onloadHandler2);

说明

我们一般接触的 onload 事件是 document.body.onload,但这实际上是由于 IE 的误导,正确的应该是 window.onload,window.onload 在 IE、Firefox、Chrome 中均有效。

posted @   郑文亮  阅读(695)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
历史上的今天:
2011-02-24 在sql语法里面定义变量
2011-02-24 SELECT INTO 和 INSERT INTO SELECT 两种表复制语句(转载)
2011-02-24 在web项目中如何使用rdlc报表
2011-02-24 如何动态调用WebServices
2011-02-24 C#中的委托和事件(转载)
2011-02-24 如何修改IE的默认标题
2011-02-24 ASP.NET控件10个最有用的属性详解
点击右上角即可分享
微信分享提示