何时在html中使用全局事件处理程序属性变为“被视为不良做法”?

时间:2016-04-03 16:48:52

标签: javascript html

相关: Why is using onClick() in HTML a bad practice? 。另请参阅 Unobtrusive JavaScript

  

不显眼的JavaScript 是使用JavaScript的一般方法   在网页中。 虽然该术语未正式定义(强调添加)

问题:

  1. 在什么时候确定使用onclickhtml中的其他全局事件处理程序属性被“考虑” “不良做法”?
  2. 确定在html中使用全局事件处理程序属性是一种“不良做法”的决定是谁?
  3. 如果在html内起草html并包含全局事件处理程序属性的用户知道事件处理程序 属性在html内的存在,这怎么可能 “考虑”“不良做法”?
  4. html的作曲家是否应该在html中包含事件处理程序属性?

  5. 是否有任何情况下html 中的事件处理程序属性不会被视为“不良做法”?

  6. htmljavascript的作曲家是否应该按照惯例“考虑”练习?那就是什么 作曲家的参考点,以审查是否特定 练习目前“被认为”“糟糕”,“不差”或“好”?要么, 是否列出了所有那些“考虑因素”的列表 “考虑”可以实施的许多可能的做法 在htmljavascript

  7. 为了澄清,试图确定html内全球事件处理程序的使用附加了“不良做法”或“被视为不良做法”的术语或短语的确切时间和对象?什么是官方或伪官方文件或一组文件,列出参与“考虑”过程的人的投票,导致“坏”或“好”的指定?

    或者,“被视为不良做法”一词主要是基于意见的吗?

1 个答案:

答案 0 :(得分:2)

首先,社区"被认为是不好的做法。 - 普通JavaScript开发人员的集体智慧。

根据定义,糟糕的做法不是任何人决定的规则,就像你在命名函数方面不好或者功能太长或者在全部使用全局变量一样,您可以使用HTML分配JavaScript事件处理程序。

没有民意调查,也没有做出W3C决定。它只是许多人对它们的经验的结果。

我认为主要原因是:

  • 事件处理程序需要是全局引用,所以一切 对全局变量的不良反应通常适用于它们。
  • 使用全局功能的地方并不十分明显 如果您只是查看JavaScript代码
  • 人们通常更喜欢保持他们的HTML清除JavaScript和 将他们的事件处理完全留在JavaScript领域。
  • 在JavaScript中保持事件处理分配就是这样 您不必更改标记以更新JavaScript代码。
  • 如果你周围有很多,它可能会非常重复。例如,将相同的事件处理程序分配给表中的每一行时。
  • 您无法在HTML中完成所有事件分配,因此您不可避免地会这样做 将有一些HTML和一些在JavaScript的土地,这使它 感觉更加凌乱。

然而,有很多教条,一般来说,当有新的做事方式时,羊群通常会朝着同一方向跑来跑去避开任何其他意见。你会听到很多人说这很糟糕,如果没有他们必须知道为什么它不好或知道如何解释他们为什么会变坏。

所以,如果你有一个简单的应用程序而且你只需要分配一个事件处理程序等,那么它是完全务实的,这是你的选择。

所以IMO没有错误,如果你和那些与你一起工作的人喜欢这样做,那么请一定要继续。

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