onclick属性vs eventListeners

Sam*_*duc 5 html javascript jquery events

我正在重写我几年前创建的网站的代码,我想知道在元素上处理click事件的最有效方法是什么?

我有一个项目列表,其中包含编辑它们的链接,它们都是用onclick="..."HTML属性编写的.这种方式或我应该使用$.bind()addEventListener处理它更好吗?什么是最佳做法?

Joe*_*ano 2

使用所谓的“unobtrusive javascript”被认为是最佳实践。这意味着您可以将 HTML 的布局与元素的行为分开。因此,不要使用混合了元素结构和行为的 onclick 属性,而是在标记中布局 DOM 结构,然后通过 javascript 附加事件处理程序。

这意味着使用 javascript 附加事件处理程序被认为是最佳实践,如下所示:

<html>
   <script>
        ... bind event handlers to your DOM and set behaviours here
   </script>
   <body>
       .... layout your DOM here
    </body>
<html>
Run Code Online (Sandbox Code Playgroud)

这对于代码的长期可维护性和可扩展性具有优势。这种方法非常适合 jQuery 等 javascript 库。

在性能方面,您可以通过使用智能缓存策略,通过不显眼的 JavaScript 方法来实现性能提升。

有关不显眼的 javascript 的更多信息,请参阅此处