Javascript 为什么可以’;我是否以相同的方式将函数()绑定到onload事件和resize事件?
为什么不能以相同的方式将函数()绑定到onload事件和resize事件 我想将自己的函数绑定到javascript的onresize和onload事件 这是一个.JS文件中的测试代码。Javascript 为什么可以’;我是否以相同的方式将函数()绑定到onload事件和resize事件?,javascript,Javascript,为什么不能以相同的方式将函数()绑定到onload事件和resize事件 我想将自己的函数绑定到javascript的onresize和onload事件 这是一个.JS文件中的测试代码。 我使用两种不同的方法将函数绑定到事件,从而使其正常工作。 而且效果很好 window.addEventListener('resize', function() { alert (“Hi from resize”); } window.onload = function () { alert (“Hi
我使用两种不同的方法将函数绑定到事件,从而使其正常工作。 而且效果很好
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
(这需要绑定到命名函数,因为删除时需要传递相同的函数)在你的第二个街区,它倒过来了。分配给窗口属性时,名称为
on
;使用addEventListener()
时,只需使用
。因此,它应该是:
window.onresize = function() {
alert("Hi from resize");
};
window.addEventListener("load", function() {
alert("Hi from resize");
});
addEventListener
现在是首选,原因如下:
removeEventListener
(这需要绑定到命名函数,因为删除时需要传递相同的函数)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页面中有一个以前尝试过的“工件”:。但无论如何,不同的命名是关键。希望这能帮助别人。