首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在html中使用全局事件处理程序属性是什么时候变成了“被认为是错误的做法”?

在html中使用全局事件处理程序属性是什么时候变成了“被认为是错误的做法”?
EN

Stack Overflow用户
提问于 2016-04-03 16:48:52
回答 1查看 336关注 0票数 0

相关:https://stackoverflow.com/questions/5871640/why-is-using-onclick-in-html-a-bad-practice.另见https://en.wikipedia.org/wiki/Unobtrusive_JavaScript

JavaScript是一种在网页中使用JavaScript的通用方法。虽然这个词没有正式定义(强调后加)

问题:

  1. 在什么时候确定使用onclickhtml中的其他全局事件处理程序属性“被认为”是一种“不良实践”?
  2. 由谁决定在html中使用全局事件处理程序属性是一种“糟糕的做法”?
  3. 如果起草html并在html中包含全局事件处理程序属性的用户知道事件处理程序属性在html中的存在,这如何“被认为”是“糟糕的做法”?
  4. html的编写器不应该在html中包含事件处理程序属性
  5. 是否有在html中包含事件处理程序属性不被“视为”“不良实践”的情况?
  6. htmljavascript的作曲家到底该听从谁的“考虑”呢?也就是说,对于一个作曲家来说,一个特定的实践目前是否被认为是“坏的”、“不坏的”还是“好的”是什么参照点呢?或者,是否有一个列表可以满足那些“考虑”可以在htmljavascript中实现的许多可能的实践的所有“考虑”。

为了澄清,试图确切地确定“坏实践”或“被认为是不良实践”这一术语或短语是何时和由谁附加到html中的全局事件处理程序的使用中的?什么是官方或假官方文件或一套文件,其中列出了那些参与“考虑”进程的人的投票结果,从而导致了“坏”或“好”的指定?

或者,“被认为是错误的做法”一词主要是基于意见的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-03 17:12:34

首先,“社区”--普通JavaScript开发人员的集体智慧--认为这是不好的实践。

根据定义,糟糕的实践并不是由任何人决定的规则,就像您可能不善于命名函数、使用过长的函数或使用全局变量一样,您可以在HTML中分配您的JavaScript事件处理程序。

没有民意测验,也没有W3C的决定。这仅仅是许多人与他们打交道的结果。

我认为,主要原因是:

  • 事件处理程序需要是全局引用,所以关于全局变量的所有缺点通常都适用于它们。
  • 如果只查看JavaScript代码,那么使用全局函数的位置就不太明显了
  • 人们通常更喜欢让他们的JavaScript保持干净,并把他们的事件处理完全留在JavaScript上。
  • 将事件处理赋值保留在JavaScript中可以使您不必更改标记来更新JavaScript代码。
  • 如果你周围有很多这样的东西,就会有相当多的重复。例如,当向表中的每一行分配相同的事件处理程序时。
  • 您不能用HTML完成所有的事件分配,因此不可避免地会有一些在HTML中,一些在JavaScript地区,这会使它感到非常混乱。

然而,有很多教条,通常情况下,当有一种新的方式做事情时,牧群通常会沿着相同的方向跑来跑去,避开任何其他的意见。你会听到很多人说这是坏的,他们没有必要知道为什么是坏的,或者知道如何解释为什么是坏的。

因此,如果您有一个简单的应用程序,并且只需要分配一个事件处理程序,等等,这是您的选择。

所以,如果你和你的同事喜欢这样做的话,那就去做吧。

但是是的,这被普通的JavaScript开发人员认为是不好的做法。没有权威。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36388227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档