gpt4 book ai didi

javascript - addEventListener 与 onClick 属性的缺点

转载 作者:可可西里 更新时间:2023-11-01 13:17:04 26 4
gpt4 key购买 nike

我了解 addEventListeneronclick 属性之间的区别,并且知道如何使用两者。我想知道总是使用 EventListener 而不是使用 onclick 属性是否有缺点。在从 javascript 动态生成 HTML 时,EventListener 至少比仅使用 onclick 功能强大得多。

是否存在内存/CPU 缺点,或者我只使用 EventListeners 是否安全?

最佳答案

这可能不是您要进行的方向,但在某些情况下您将无法删除事件监听器。

事件处理程序是完全公开的,任何人都可以(在一定程度上)修改:

// You do this
myLink.onclick = function () {
alert('hello, world');
};

// Another developer who hates you because
// he thinks that you're hitting on his girlfriend
// but you're not, you're just friends, but
// he's jealous so he doesn't understand
// does this
myLink.onclick = function () {
alert('muahahahaha');
};

// Someone else could even get rid of
// the handler entirely:
myLink.onclick = null;

但是没有可公开访问的事件监听器列表。删除事件监听器的唯一方法是您仍然可以访问原始函数:

myLink.addEventListener('click', function () {
alert('hello, world');
}, false);

现在无法删除该事件监听器。你给了它一个匿名函数,所以即使你想删除它也无法删除它。

关于javascript - addEventListener 与 onClick 属性的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6133252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com