JavaScript Event Beispiel 2: Durchreichen von Events auf unterschiedliche Ebenen

<a href="javascript:activateHandlers ()" title="">Handler aktivieren</a><br>
Eingabefeld: <input type="text" name="kommentar" maxlength="25" size="25" /><br>
<a href="javascript:deactivateHandlers ()" title="">Handler deaktivieren</a>
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Event-Handler für das Event keydown
// Zeigt einen Alert-Dialog an, der angibt, welches Element das Event behandelt
function handleKeydown (event) {
  // Informationen über das Element, welches diesen Event-Handler nutzt
  // für spätere Ausgabe zusammenstellen
  info = 'Event ' + event.type + ' aufgetreten!' +
         '\nObjektinformationen: ' + this +
         '\nEigenschaft ID: ' + this.id +
         '\nEigenschaft Name: ' + this.name +
         '\nElement-Name: ' + this.nodeName +
         '\nElement-Typ: ' + this.nodeType;
  if (this.nodeType)
    info += ' (' + (this.nodeType == 1 ? 'Elementknoten' : 'Dokumentknoten') + ')';
  // Infos in einem Dialogfenster ausgeben
  alert (info);
}

// Event-Handler aktivieren (mit HTML-Elementen verbinden)
function activateHandlers () {
  // Handler "handleKeydown" beim Auftreten des KeyDown-Events beim Body-Element aktivieren
  document.getElementsByTagName ('body')[0].onkeydown = handleKeydown;
  // Handler "handleKeydown" beim Auftreten des KeyDown-Events beim Element mit dem Namen "kommentar" aktivieren
  document.getElementsByName ('kommentar')[0].onkeydown = handleKeydown;
  // Handler "handleKeydown" beim Auftreten des KeyDown-Events beim Document-Element aktivieren
  document.onkeydown = handleKeydown;
  // Handler "handleKeydown" beim Auftreten des KeyDown-Events beim Window-Element aktivieren
  window.onkeydown = handleKeydown;
}

// Event-Handler deaktivieren
function deactivateHandlers () {
  // Verbindung der Elemente zum Event-Handler lösen, damit der Handler
  // künftig nicht mehr aufgerufen wird, wenn das Event eintritt
  document.getElementsByTagName ('body')[0].onkeydown = '';
  document.getElementsByName ('kommentar')[0].onkeydown = '';
  document.onkeydown = '';
  window.onkeydown = '';
}
// -->
</script>

Eingabefeld:
Handler aktivieren
Handler deaktivieren



¬ Insolvenzrecht