![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| ||||
| ||||
|
|
Ipotizziamo di avere una cosa simile: function paperino(elemId) { this.numero=10; this.elemento=document.getElementById(elemId); this.elemento.onmousedown = function(e) { alert(this.numero); ^^^^^ |
|
} } var test=new paperino("idDiUnDIV"); Se clicco sul div con id idDiUnDIV ottengo un bel undefined. |
|
Come faccio a fare in modo che in risposta all'evento la funzione venga chiamata nel contesto dell'istanza corrente di paperino? |
|
(Senza scrivere codice FUORI dalla classe, che senno' funziona benissimo...) |
#3
| |||
| |||
|
|
Come faccio a fare in modo che in risposta all'evento la funzione venga chiamata nel contesto dell'istanza corrente di paperino? un modo possono essere le chiusure qui c'è un link che più volte Zer0 ha postato: http://www.jibbering.com/faq/faq_notes/closures.html |
#4
| |||
| |||
|
|
Ugo <privacy (AT) nospam (DOT) it> wrote: Come faccio a fare in modo che in risposta all'evento la funzione venga chiamata nel contesto dell'istanza corrente di paperino? un modo possono essere le chiusure qui c'è un link che più volte Zer0 ha postato: http://www.jibbering.com/faq/faq_notes/closures.html Si, ma attenzione che qua ci poniamo nella situazione in cui si hanno closure su riferimenti DOM <-> JS; che sono la causa prima dei memory leak su IE. Sebbene la Microsoft abbia "patchato" buona parte delle questioni sui memory leak, sfortunatamente non sono stati del tutto eliminati, come ha fatto notare uno sviluppatore di google. Quindi a meno di non sapere ESATTAMENTE cosa si sta facendo, direi di andarci con i piedi di piombo. |
![]() |
| Thread Tools | |
| Display Modes | |
| |