Ich habe folgendes Problem:
Innerhalb einer Klasse werden verschiedene Dom-Elemente mit Eventhandlern belegt, unter anderem auch document.
Entsprechend dem Beispiel unten werden die Events dann verarbeitet. Im Firefox funktioniert das alles wunderbar, der Kontext der Aufrufe ist korrekt (im Beispiel kommt bei jedem Klick auf das document vier alerts mit vier verschiedenen Nummern), im IE wird immer die gleiche Nummer ausgegeben, d.h. der Kontext des Eventhandlers ist immer der gleiche!
Ich kann mir nicht vorstellen warum dem so ist oder was man dagegen machen könnte, hat da irgend jemand eine Idee?
Die Funktion addEventListener ist die von John Reisig.
<script>
function addEvent( obj, type, fn ) {
if ( obj.attachEvent ) {
obj['e'+type+fn] = fn;
obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
obj.attachEvent( 'on'+type, obj[type+fn] );
} else
obj.addEventListener( type, fn, false );
}
function C1(Pid) {
var v1 = parseInt(Math.random() * 1000000);
var id = Pid;
var box;
var __self = this;
var __const = function() {
addEvent(document,'mouseup',handler);
}
var handler = function() {
alert(v1);
}
__const();
}
var bla1 = new C1();
var bla2 = new C1();
var bla3 = new C1();
var bla4 = new C1();
</script>
--
for your security, this text has been encrypted by ROT13 twice.
for your security, this text has been encrypted by ROT13 twice.