![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| ||||
| ||||
|
|
Sto giocando con un bell'oggettino c# che genera lato client una window.onload dove assegna proprietà ed eventi agli oggetti in base ai criteri settati |
|
a) setAttribute("onclick","alert('ok')"); Io bellobbello ho fatto quanto sopra con mozilla e MERAVIGLIA funziona. Sviluppo un po' e passo a IE => ignorato! Da quel che ho capito IE crea la PROPRIETA' onclick e NON il metodo onclick. Da qui la domanda: qual è il comportamento corretto? Mi fa un po' schifo a dirlo, ma a naso mi sembra che IE segua gli standard (o quantomeno la logica: setAttribute=set Attribute=setta attributo). |
|
Uso quindi sempre window.onload? |
|
c) setAttribute Opera. Testato con Opera 7.21, ignora completamente proprietà personalizzate. |
#3
| ||||
| ||||
|
|
Sto giocando con un bell'oggettino c# che genera lato client una window.onload dove assegna proprietà ed eventi agli oggetti in base ai criteri settati E ti serve un oggettino c# per farlo? Sì...per farlo in c# e darlo in mano a chi non sa generare javascript lato |
|
E perche' deve generare del codice client? Per assegnare onload metodi ed eventi; a quali oggetti lo decidi lato |
|
a) setAttribute("onclick","alert('ok')"); Io bellobbello ho fatto quanto sopra con mozilla e MERAVIGLIA funziona. Sviluppo un po' e passo a IE => ignorato! Guarda, a parer mio (leggasi, secondo la mia logica) e' corretto quel che fa mozilla. Prima di tutto stiamo parlando di (X)HTML e non XML generico: A livello di tag, onclick non e' un attributo normale, ma un attributo collegato all'evento click su quell'elemento. Quando tu, a mano, definisci in un sorgente (X)HTML un attributo "onclick", stai impostando una funzione anonima per quell'oggetto, tramite binding. Quindi, allo stesso modo in cui la scrittura "manuale" di tale attributo generi la funzione, e' corretto che l'aggiunta di tale attributo via DOM faccia la stessa cosa. Altrimenti c'e' un'incongruenza. Quindi IE fa correttamente la parte di assegnazione proprietà, ma poi non |
|
c) setAttribute Opera. Testato con Opera 7.21, ignora completamente proprietà personalizzate. Ed io ignoro Opera, a meno che non sia solo per questioni di CSS. Sì, in effetti se funziona l'assegnazione delle proprietà "standard" e per |
#4
| ||||
| ||||
|
|
Sto giocando con un bell'oggettino c# che genera lato client una window.onload dove assegna proprietà ed eventi agli oggetti in base ai criteri settati E ti serve un oggettino c# per farlo? Sì...per farlo in c# e darlo in mano a chi non sa generare javascript lato client E perche' deve generare del codice client? Per assegnare onload metodi ed eventi; a quali oggetti lo decidi lato server con un oggettino ad-hoc. |
|
Quindi IE fa correttamente la parte di assegnazione proprietà, ma poi non effettua il binding... |
|
createElement etc. Antipatica cosa, comunque, mi avrebbe semplificato la vita usare setAttribute sia per proprietà che per eventi. |
|
Era più una curiosità, se si riusciva a fare un qualcosa del tipo if(!oggetto.setAttribute) oggetto.setAttribute=function() {....} |
#5
| |||
| |||
|
|
Non ne capisco bene l'utilita' posta in questo modo, ma mancandomi il quadro generale non posso andare oltre.. magari mi spiegherai alla prossima cena. Io ho fatto un qualcosa in php per dialogare col documento come se fosse un "DOM" client, senza usare librerie interne (in quanto non so cosa il server ha installato); ma non genera nulla di client. Imposta gli attributi direttamente sul tag da server. Sì, ma impostandoli così non viene più validato. In realtà è nato per |
|
Ma fammi capire, Opera 7.21 non ha neppure il setAttribute?? Da quanto avevi detto, avevo capito che non funzionava per attributi custom; non che era del tutto assente. Esatto; se faccio un setAttribute("size","100") funziona, con |
#6
| |||
| |||
|
|
a) setAttribute("onclick","alert('ok')"); Io bellobbello ho fatto quanto sopra con mozilla e MERAVIGLIA funziona. Sviluppo un po' e passo a IE => ignorato! |
#7
| |||
| |||
|
|
Hai provato a fare così come segue? [CUT] |
|
Inoltre ti volevo chiedere: che differenza fa se imposti direttamente la proprietà al posto di utilizzare setAttribute? elem.onclick = function() { ... }; Nessuna...nel senso: dato che devo settare anche proprietà speravo di usare |
#8
| |||
| |||
|
|
In data Fri, 04 Feb 2005 14:59:00 +0100, Gaetano Bigliardi ha scritto: Inoltre ti volevo chiedere: che differenza fa se imposti direttamente la proprietà al posto di utilizzare setAttribute? elem.onclick = function() { ... }; Nessuna...nel senso: dato che devo settare anche proprietà speravo di usare la stessa sintassi sia per proprietà standard (es. size), sia per proprietà personalizzate (es. required), sia per eventi (esempio onclick). Ho infatto risolto come dici te (se è metodo fa un eval e setta il metodo indicato, altrimenti usa setAttribute), restava il dubbio però su chi dei 2 si comportava correttamente. |
![]() |
| Thread Tools | |
| Display Modes | |
| |