2010-12-18 5 views

Antwort

74

Kasse des Wikipedia-Artikel:

"Dezente JavaScript" ist ein allgemeines Konzept für die Nutzung von JavaScript in Web-Seiten. Obwohl der Begriff nicht formal definiert ist, werden seine grundlegenden Prinzipien allgemein umfassen verstanden:

  • Trennung von Funktionalität (das „Verhalten layer“) von einer Struktur/Inhalt und Präsentation der Webseite
  • Best Practices die Probleme der traditionellen JavaScript Programmierung (zB Browser Inkonsistenzen und fehlende Skalierbarkeit)
  • Progressive Enhancement zu vermeiden Benutzeragenten zu unterstützen, die nicht Unterstützung Javascri voran kann pt Funktionalität [2]

So ist es im Grunde Verhalten oder Javascript aus Präsentations- oder HTML zu trennen.

Beispiel:

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

Das ist nicht unaufdringliche Javascript ist, weil das Verhalten und die Präsentation gemischt werden. Die onclick sollte nicht in HTML sein und sollte Teil von Javascript selbst nicht HTML sein.

Mit obigem Beispiel können Sie unaufdringliche so gehen:

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

JavaScript:

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

diese Zeit haben wir JavaScript aus HTML mit einem sehr einfachen Beispiel getrennt haben.

Hinweis:

Es gibt mehr zu unaufdringliche Javascript wie auf Wikipedia-Artikel ausgecheckt werden.

+1

Danke für ein großartiges Beispiel, aber warum ist es schlecht, onclick = zu haben "alarm ('Test') in der html? – Imran

+6

@Imran: Aus einer Reihe von Gründen, wenn Sie darüber nachdenken. Für die einfache Portabilität, einfach für andere Dinge zu finden, Erweiterbarkeit, etc. – Sarfraz