JavaScript - Event-Handler: Unterschied zwischen den Versionen

Aus Wikizone
Wechseln zu: Navigation, Suche
Zeile 9: Zeile 9:
 
  <input type="button" value="Letzter Update" onclick="this.form.Ausgabe.value = document.lastModified">
 
  <input type="button" value="Letzter Update" onclick="this.form.Ausgabe.value = document.lastModified">
  
== Eventhandler im <script> Teil ==
+
== Eventhandler registrieren  ==
 +
Der Eventhandler muß nicht im HTML Tag registriert werden. Im Script Teil ist es übersichtlicher, weil die Handler nicht überall im Skript verteilt sind.
  
<form name="formular1">
+
<pre>
 
+
 
 +
function sagGutenTag() {
 +
  alert("Guten Tag!");
 +
}
 +
window.onload = sagGutenTag;
 +
 
 +
function meineFunktion(){
 +
  alert("hallo welt");
 +
}
 +
document.getElementById("meinElement").onclick = meineFunktion;
 +
</pre>
 +
 
 +
Hierbei muß man darauf achten, daß die Elemente für die Handler auch schon vom Browser geladen sind. Meistens schiebt man deshalb ein onload Event voraus. Wenn dieses Eintritt kann man den Rest registrieren (z.B. eine init() ) Funktion anlegen.
  
 
== Eventhandler registrieren ==
 
== Eventhandler registrieren ==

Version vom 21. Februar 2012, 08:50 Uhr

Links

http://de.selfhtml.org/javascript/sprache/eventhandler.htm

Gute Einführung und best practice: http://www.mediaevent.de/javascript/event-handler.html


Im HTML definieren (Old School)

<input type="text" size="30" name="Ausgabe" readonly="readonly">
<input type="button" value="Letzter Update" onclick="this.form.Ausgabe.value = document.lastModified">

Eventhandler registrieren

Der Eventhandler muß nicht im HTML Tag registriert werden. Im Script Teil ist es übersichtlicher, weil die Handler nicht überall im Skript verteilt sind.


function sagGutenTag() {
   alert("Guten Tag!");
}
window.onload = sagGutenTag;

function meineFunktion(){
  alert("hallo welt");
}
document.getElementById("meinElement").onclick = meineFunktion;

Hierbei muß man darauf achten, daß die Elemente für die Handler auch schon vom Browser geladen sind. Meistens schiebt man deshalb ein onload Event voraus. Wenn dieses Eintritt kann man den Rest registrieren (z.B. eine init() ) Funktion anlegen.

Eventhandler registrieren

Erst der IE9 macht das W3C konform. Aber mit jQuery funktionierts trotzdem einfach.

Event Handler mit jQuery

Fängt Probleme bie unterschiedlichen Browsern ab.