JavaScript和DOM按钮事件处理

JavaScript and DOM button event handling

本文关键字:事件处理 按钮 DOM JavaScript      更新时间:2023-09-26

我最近看到这样的评论:

Please, Please 不要在HTML元素中放入JavaScript。这是草率的,不必要的,而且是一个需要处理的问题。

在这篇文章中。你隐姓埋名是什么意思?他(你)的意思是每个事件都应该在JavaScript/JQuery代码中手动连接(JQuery击中,因为我倾向于主要使用JavaScript,而不使用插件)?

最佳实践是否规定函数调用应该使用JavaScript例程附加,或者直接在标记中提供函数调用(不是连续的JavaScript字符串)更容易读,以便您知道与DOM元素直接相关的调用是什么,例如:

<button id="myButt" onclick="shake(myButt);" value="Shake it!" />

…还是我找错对象了?

有助于关注点分离设计原则的应用。HTML负责表示,JavaScript负责行为。简而言之,它有助于将编程逻辑与HTML解耦。

也是添加事件处理程序非常有用的一点

使用内联事件处理程序,JavaScript代码与HTML标记的分离非常差。现代浏览器提供了为页面元素注册事件处理程序的其他编程方式,允许您在网页生命周期内动态添加一个或多个处理程序。

对我来说,这可能归结为所讨论的页面的复杂性。如果它是一个较小的、简单的HTML页面,那么我真的认为使用内联函数来处理事件没有什么害处。当页面开始变得更大,有更多的活动部分时,在一个中心位置处理所有的js有一定的优势,这样您就可以简单地快速鸟瞰正在发生的事情,而不必解析一个大的源代码文件来找出函数在哪里被使用。Knockout js沿着这些路线工作,当页面开始变得非常复杂时,它变得非常方便使用。