Es wird zuerst eine Funktion/Klasse angelegt die die Grundbedingungen erfüllt. In diesem Fall speichert sie nur die Koordinaten des Mauszeigers. Danach erstellt man weitere Funktionen in denen man die Grundklasse auf die entsprechenden Browser spezialisieren kann.
// Den Browser prüfen var IE = (navigator.appName.match(/Microsoft/i)); // Die Grundfunktion function Mouse() { this.x = 0; this.y = 0; } // Die Erweiterungsfunktion für den Internet Explorer function MouseIE() { this.getPos = function(e) { if (!e) var e = window.event; this.x = e.clientX + document.body.scrollLeft; this.y = e.clientY + document.body.scrollTop; } } // Die Erweiterungsfunktion für W3C Browser function MouseW3() { this.getPos = function(e) { this.x = e.pageX; this.y = e.pageY; } } // Die Grundfunktion auf den aktuellen Browser Spezialisieren Mouse.prototype = (IE)? new MouseIE():new MouseW3(); // Das Objekt instantiieren var mouse = new Mouse(); // Mausbewegung überwachen document.onmousemove = function(e){mouse.getPos(e)};