温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - What is Unobtrusive Javascript in layman terms?

其他 - 用外行术语来说,不干扰Javascript是什么?

发布于 2020-03-31 23:21:45

用外行术语来说,不干扰Javascript是什么?一个例子将有助于我的理解。

查看更多

提问者
Imran
被浏览
10
14.2k 2012-12-29 19:16

查看Wikipedia文章:

“不干扰JavaScript”是在网页中使用JavaScript的通用方法。尽管未正式定义该术语,但通常将其基本原理理解为:

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

因此,它基本上是将行为或javascript与表示或html分开。

例:

<input type="button" id="btn" onclick="alert('Test')" />

那不是好客的javascript,因为行为和表现是混合的。onclick不应该出现在HTML,应该是JavaScript的本身不是HTML的一部分。

在上面的示例中,您可以像这样平淡无奇:

<input type="button" id="btn" />

JavaScript:

var el = document.getElementById('btn');
el.onclick = function(){
  alert('Test');
};

那个时候,我们用一个非常基本的例子将javascript和html分开了。

注意:

可以在Wikipedia文章上查看的不引人注目的JavaScript还有更多内容。