Javascript 为什么可以’;我是否以相同的方式将函数()绑定到onload事件和resize事件?

Javascript 为什么可以’;我是否以相同的方式将函数()绑定到onload事件和resize事件?,javascript,Javascript,为什么不能以相同的方式将函数()绑定到onload事件和resize事件 我想将自己的函数绑定到javascript的onresize和onload事件 这是一个.JS文件中的测试代码。 我使用两种不同的方法将函数绑定到事件,从而使其正常工作。 而且效果很好 window.addEventListener('resize', function() { alert (“Hi from resize”); } window.onload = function () { alert (“Hi

为什么不能以相同的方式将函数()绑定到onload事件和resize事件

我想将自己的函数绑定到javascript的onresize和onload事件

这是一个.JS文件中的测试代码。
我使用两种不同的方法将函数绑定到事件,从而使其正常工作。 而且效果很好

window.addEventListener('resize', function() {
  alert (“Hi from resize”);
}

window.onload = function () {
  alert (“Hi from onload”);
}
然而,当我试图用同样的方法来绑定它们时,总是会失败。也就是说,这两项工作都不是:

window.resize = function () {
  alert (“Hi from resize”);
}

window.addEventListener('onload', function() {
  alert (“Hi from onload”);
}
我发现了无数关于如何使特定示例以这种或那种方式工作的帖子

但我找不到任何线索来说明为什么同样的方法对两者都不起作用

有谁能帮我弄明白这一点:

---有人写道addEventListener()是首选。而这项直接任务并非如此。这是真的吗

---直接分配是否仍适用于这两个事件

---addEventListener()是否应该同时适用于这两种情况

---我是否错过了我应该知道的其他事情

我是说我的代码很好用。只是前后不一致,这似乎总是表明我在某个地方搞砸了

我想,如果两种方法中的任何一种都“应该”适用于这两个事件,我可以回去搜索拼写错误。但是,如果哪一种方式是首选的,那么知道哪一种方式会有所帮助。或者我错过了一些重要的事情


谢谢你。

你的第二个街区倒过来了。分配给窗口属性时,名称为
on
;使用
addEventListener()
时,只需使用
。因此,它应该是:

window.onresize = function() {
    alert("Hi from resize");
};

window.addEventListener("load", function() {
    alert("Hi from resize");
});

addEventListener
现在是首选,原因如下:

  • 您可以有多个侦听器,这些侦听器都在事件发生时执行。指定给特性时,它将替换以前的值。如果要删除事件侦听器,可以有选择地使用
    removeEventListener
    (这需要绑定到命名函数,因为删除时需要传递相同的函数)

  • 它可以与应用程序定义的自定义事件一起使用<代码>onXXX属性只能与标准事件一起使用


  • 在你的第二个街区,它倒过来了。分配给窗口属性时,名称为
    on
    ;使用
    addEventListener()
    时,只需使用
    。因此,它应该是:

    window.onresize = function() {
        alert("Hi from resize");
    };
    
    window.addEventListener("load", function() {
        alert("Hi from resize");
    });
    

    addEventListener
    现在是首选,原因如下:

  • 您可以有多个侦听器,这些侦听器都在事件发生时执行。指定给特性时,它将替换以前的值。如果要删除事件侦听器,可以有选择地使用
    removeEventListener
    (这需要绑定到命名函数,因为删除时需要传递相同的函数)

  • 它可以与应用程序定义的自定义事件一起使用<代码>onXXX属性只能与标准事件一起使用


  • addEventListener
    是首选,因为如果分配,将覆盖已分配给该事件的任何其他事件


    使用
    addEventListener
    时,onload的事件只是“加载”

    addEventListener
    是首选,因为如果分配,则将覆盖已分配给该事件的任何其他事件


    使用
    addEventListener
    时的onload事件只是“load”

    而且,您可以使用window.addEventListener(“load”,function(){alert(“Hi from load”);}而不是onload您在代码末尾错过了一个右括号:)来增加我的尴尬,我还发现我有一个“工件”在我的HTML页面中留下的先前尝试的数目:。但无论如何,不同的命名是关键。希望这对其他人有帮助。另外,你可以使用window.addEventListener(“load”,function(){alert(“Hi from load”);}而不是onload。你的代码结尾缺少了一个右括号:)为了增加我的尴尬,我还发现我的HTML页面中有一个以前尝试过的“工件”:。但无论如何,不同的命名是关键。希望这能帮助别人。