什么是外行术语中的Unobtrusive Javascript?

Imr*_*ran 53 javascript unobtrusive-javascript javascript-events

什么是外行术语中的Unobtrusive Javascript?一个例子可以帮助我理解.

Sar*_*raz 76

查看维基百科文章:

"不引人注目的JavaScript"是在网页中使用JavaScript的一种通用方法.虽然该术语未正式定义,但其基本原则通常被理解为包括:

  • 从网页的结构/内容和表示中分离功能("行为层")
  • 避免传统JavaScript编程问题的最佳实践(例如浏览器不一致和缺乏可伸缩性)
  • 逐步增强以支持可能不支持高级JavaScript功能的用户代理[2]

所以它基本上将行为或javascript与表示或html分开.

例:

<input type="button" id="btn" onclick="alert('Test')" />
Run Code Online (Sandbox Code Playgroud)

这不是不引人注目的javascript,因为行为和呈现是混合的.本onclick不应该出现在HTML,应该是JavaScript的本身不是HTML的一部分.

通过上面的例子,你可以像这样不引人注目:

<input type="button" id="btn" />
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

var el = document.getElementById('btn');
el.onclick = function(){
  alert('Test');
};
Run Code Online (Sandbox Code Playgroud)

那个时候我们用一个非常基本的例子将javascript从html中分离出来.

注意:

还有更多不引人注目的javascript,可以在维基百科文章中查看.

  • @Imran:如果你考虑的话有很多原因.为了便于携带,易于其他人查找,可扩展性等. (6认同)