javascript - $(window).on ('resize' ) 在 JavaScript 中

标签 javascript jquery windows resize

在 JavaScript 中,是如下代码:

window.onresize = function() {
    // Do something.
}

等同于:

$(window).on('resize', function () {
    // Do something.
});

上面的两个代码块在功能方面是否相等?使用一个或另一个有什么优点或缺点(无论多么小)?

关于:

window.addEventListener('resize', function(event) {
    // Do something.
});

最佳答案

它们不一样,在第一个示例中,您正在影响 dom 对象 onresize 处理程序的事件。

jQuery 版本可能在幕后做了一些不同的事情。如果不查看源代码,它可能只是在做:

window.addEventListener('resize', function () {...})

也就是说,jQuery 版本和 native addEventListener 仍然不同,因为 jQuery 还为事件处理程序添加了一些魔法。

addEventListenener 可能是向 DOM 对象添加事件的首选方法,因为您可以添加多个事件,但使用 dom 属性 on[event] 您仅限于一次事件。

这里有更多关于它的信息:https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

在阅读的同时,您还可以阅读关于addEventListener 的 friend :removeEventListener

关于javascript - $(window).on ('resize' ) 在 JavaScript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35030642/

相关文章:

javascript - 单击节点重新加载 d3.js 图形

c++ - WriteFileGather - 将缓冲区附加到文件

python - 使用inpout32 windows7(64bit)访问并口控制寄存器

javascript - iPhone 之类的 Javascript/jQuery 重新排序/随机播放小部件

c - Windows错误参数类型c编程

javascript - 如果浏览器在 asp .net 中关闭,请从浏览器注销?

javascript - 将CSS应用于动态创建的奇数/偶数行

javascript - 如何在javascript中获取没有类名的元素

javascript - 通过 jquery 下载文件并重定向

javascript - 如何防止/覆盖 Safari 中的授权 header ?