On Sat, 6 May 2006 12:36:02 +0200, pasch wrote:
Quote:
oField.setAttribute("onChange","controllo("+num+") ");
mi rispondo da solo, se servisse a qualcuno:
oField.attachEvent("onchange",function(){controllo (num)}); |
Questa cosa è IE-only, puoi benissimo fare qualcosa di più standard in questo
modo:
oField.onchange = function(){controllo(num)};
Se vuoi approfondire la questione sulla gestione differente di IE circa gli
event-handler e le classi CSS rispetto agli altri normali attributi; una
veloce ricerca negli archivi di questo NG ti darà tutte le informazioni che
cerchi, ne è stato discusso più di una volta.
N.B.
IE è sottoposto a memory leak nei casi in cui imposti un event-handler nei due
sopracitati modi; se lo fai da dentro una funzione (window.onload compresa),
perché crei una closure. Per evitare ciò, ci sono tre modi: evitare la closure
(impostando una funzione non anonima, ma bensì definita precedentemente);
ricordarsi di rimuovere l'event-handler nell'evento onunload; associare
l'event-handler al di fuori di qualsiasi funzione (ad esempio alla fine della
pagina).
--
"E' un vero peccato che tutte le persone che sanno come far funzionare
il Paese siano troppo occupate a guidare taxi o a tagliare capelli."
(George Burns)