gpt4 book ai didi

javascript - JQuery/DOM元素 "click"事件注册: on ("click") VS click() VS addeventlistener ("click")

转载 作者:行者123 更新时间:2023-12-03 11:36:34 27 4
gpt4 key购买 nike

我正在学习 javascript,并且我见过不止一种注册点击事件的方法:

$(DOMelement).click(function() {});
$(DOMelement).on('click',function() {});
(DOMelement).addEventListener('click', function() {});

有人可以告诉我事件注册的最佳做法是什么吗?或者每个的主要优点/缺点?我假设 on() 和 click() 非常相似,但由于我刚刚开始,我想知道哪个是最常用的,这样我就可以从一开始就编写高效的代码。另外,进行 html onclick 注册仍然是一个好的做法吗?

<button onclick="function()"></button>

最佳答案

$(DOMelement).click(function() {});$(DOMelement).on('click',function() {}); 的快捷方式。性格有点少,但是$(DOMelement).on('click',function() {});更快。

$(DOMelement).addEventListener('click', function() {});永远不会工作,因为它是原生 JavaScript 函数。您需要使用 HTML 元素,而不是 jQuery 元素。那会起作用:

$(DOMelement)[0].addEventListener'click', function() {});

这是最快的,因为它是原生的,但有 some support issue ,就像在 IE 8 及更低版本中一样,它会抛出错误,因为它使用 .attachEvent() .

您最后的解决方案( <button onclick="function()"></button> )是最糟糕的解决方案,因为它不利于可重用性,当您有多个元素时会进行大量重复,这也是一种不好的做法。

基本上,您应该始终使用(加载 jQuery 时).on() .

关于javascript - JQuery/DOM元素 "click"事件注册: on ("click") VS click() VS addeventlistener ("click"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26471142/

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