Mit den 4.0 Versionen haben Netscape und Microsoft zwei unterschiedliche Ereignis-Objekte eingeführt, die eine der Grundlagen für dynamisches, interaktives DHTML sind.
Ereignisse wie Mausklicks oder das Drücken einer Taste spielen eine zentrale
Rolle beim Aufbau von interaktiven Oberflächen. Ein Hyperlink oder ein
Formular sind interaktive Elemente,
die in jedem Browser "eingebaut" sind.
In JavaScript hat der NN zuerst Event-Attribute
für einige Elemente eingeführt, um andere Aktionen
wie mouseover abzufangen.
Thema ist hier das Event-Objekt, das MSIE und NN ab den 4.0-Versionen
zur Verfügung stellen und das beispielsweise die Abfrage der Position des
Mauszeigers möglich macht.
Trotz prinzipieller Äquivalenz unterscheiden sich die Objekte von NN und MSIE bis hin zu
den Eigenschaften: So heißt z.B. die Eigenschaft für die horizontale Position
beim MSIE clientX und beim NN pageX.
Cross-Browser Event-Skript.
Hier wird die Position des Mauszeigers für jedes "sensivitive" Element wie z.B. Hyperlinks
in den beiden Formularfeldern angezeigt. Bei anderen Elementen tritt keine Aktion auf. Es wird dabei eine
Unterscheidung zwischen den verschiedenen Eigenschaftennamen und Events berücksichtigt.
Ergebnis
Quellcode
<script language="javascript">
<!--
function getPosition(eventObject) {
eval("document.forms['positionForm'].elements['positionX'].value=" + eventAccess + "." + pageX);
eval("document.forms['positionForm'].elements['positionY'].value=" + eventAccess + "." + pageY);
return true;
}
var pageX="clientX";
var pageY="clientY";
var eventAccess="window.event";
if (window.Event) { // only NN
document.captureEvents(Event.MOUSEOVER);
pageX="pageX";
pageY="pageY";
eventAccess="eventObject";
}
document.onmouseover = getPosition;
Der Betreiber von www.dBooks.de übernimmt keine
Verantwortung für den Inhalt und die Richtigkeit der Angaben auf
den verlinkten Websites.
Zu den üblichen NoNos gibt es keine direkten Verweise.