Ciao,

sono un principiante per queste cose quindi credo che la mia domanda sarà abbastanza banale.

Mi sto ritrovando a fare un div draggabile all'interno di una pagina e volevo gestirlo come un oggetto visto che ne voglio tenere la posizione, la dimensione, definire metodi per aprirlo e chiuderlo o scriverci del codice dentro.

Intanto vorrei chiedere una cosa che io ho sempre preso per buono ma non ho mai trovato approfondimenti:
in tutti gli esempi di drag and drop trovo la riga di codice:

document.onmousedown = startDrag;

po la funzione startDrag è definita cosi:

function startDrag(e)

il parametro 'e' che cos'è precisamente e perchè non viene passato alla funzione? provando a scrivere
document.onmousedown = startDrag(e);
ovviamente da errore...

Passiamo al mio oggetto:

function MyObject(){

this.startDrag = function(e){
.........
.........
document.onmousemove = this.move;
}

this.move = function(e){
............
..........
...........
}
};

cosi non mi funziona e non capisco perchè.
Chiamando this.move dalla funzione startDrag non c'è verso, non entra nella funzione move!
ovviamente la funzione startDrag la chiamo fuori dall'oggetto in questo modo:

var a = new MyObjetc()
document.onmousedown = a.startDrag;

l'unico modo in cui sono riuscito a farlo funzionare è chiamare dall'esterno anche la funzione move
document.onmousemove = a.move;

vorrei capire perchè si comporta cosi e cosa sbaglio e come fare per far stare tutto all'interno dell'oggetto...
Grazie in anticipo!