Java Reference
In-Depth Information
}
...
</script>
In der Initialisierungsfunktion wird versucht, in der Bedingung von if mit dem event -
Token zu arbeiten. Dies funktioniert aber wie gesagt nur in Browsern, die das alte Microsot-
Ereignismodell unterstützen. Die Bedingung an sich ist vollkommen uninteressant. Sinn
und Zweck des Tests ist nur, dass er für Browser eine Ausnahme auslöst, die den Token
nicht kennen. Und das sind eben die Browser, die auch grundsätzlich das alte Microsot-
Ereignismodell nicht unterstützen. Wenn so eine Ausnahme autritt, wird einfach die alter-
native Ereignisbehandlung verwendet. Beachten Sie, dass in dieser Art der Browsertren-
nung zuerst auf das Microsot-Ereignismodell geprüt wird und dementsprechend auch
andere Browser als Internet Explorer in diesen Zweig geführt werden, da einige andere
Browser mit beiden Modellen zurechtkommen. Es ist bei dieser Browsertrennung vollkom-
men egal, um welchen konkreten Browser es sich handelt. Ein Browser wird einfach das
erste Modell verwenden, das bei ihm funktioniert.
Wird eine Ausnahme ausgelöst, muss also das konkurrierende Ereignismodell von Net-
scape funktionieren und man registriert passende Ereignisfunktionen. Dies könnte man
zwar auch noch einmal absichern, aber das sollte nicht notwendig sein. Betrachten wir ein
Beispiel (kap9_8.html):
Listing 9.17■ Universelle Bereitstellung einer Reaktion
...
<body>
<h1>Bewegen Sie die Maus oder drücken Sie eine beliebige Taste!</h1>
<div id="koord"></div><div id="zeichen"></div>
</body>
<script ltype="text/javascript">
window.onload = initReaktion;
function initReaktion() {
try {
if (event) {
document.onmousemove = posIE;
document.onkeyup = zeichenIE;
}
} catch (e) {
document.onmousemove = posMZ;
document.onkeyup = zeichenMZ;
}
}
function posIE() {
document.getElementById("koord").innerHTML =
"<h5>Koordinaten</h5>X: " + event.x + ", Y: " + event.y;
}
function posMZ(ev) {
document.getElementById("koord").innerHTML =
"<h5>Koordinaten</h5>X: " + ev.clientX + ", Y: " + ev.clientY;
}
function zeichenIE() {
document.getElementById("zeichen").innerHTML =
"<h5>Tastaturcode</h5>" + event.keyCode;
}
function zeichenMZ(ev) {
 
Search WWH ::




Custom Search