ich bastele gerade an einem Drag'n'Drop-System mit Javascript und würde das ganze gerne in einer klasse verpacken. dummer weise funktioniert das eventhandling nicht, wenn ich alle funktionen in der klasse zusammen fasse:
function DragSystem()
{
document.onmousedown = this.dragStart;
}DragSystem.prototype.dragStart = function(ereignis)
{
alert('test');
}
Das geht so nicht.
document.onmousedown = this.dragStart;
Das heißt, in der Funktion this.dragStart bezieht sich this auf document, nicht auf das DragSystem Objekt, wie du vermutest.
Um die Funktion die du möchtest aufzurufen, musst du mit einer anonymen Funktion und einer lokalen Kopie von this arbeiten.
var self = this;
document.onmousedown = function(e) { self.dragStart(e);};
Struppi.