Ciao a tutti,
cercherò di essere il piu schematico possibile.

Sto avendo un problema sull'onclick di un elemento modificato dinamicamente.

Creo una tabella in php, a dei determinati TD aggiungo una funzione da eseguire all'onclick per rendere il contenuto editabile. Eseguendo questa funzione, all'interno del TD, aggiungo un campo input (con valore del contenuto del TD) e aggiungo un pulsante per annullare e un pulsante per salvare ed elimino l'attributo onclick (per evitare che cliccando ancora sul TD venga rieseguita la funziona per editare il campo)
Sul pulsante per annullare aggiungo una funziona da eseguire sull'onclick. Quest'ultima effettua il ripristino del valore originale e aggiunge all'attributo onclick la funzione per editare il contenuto (il caso di partenza).
Bene, il problema è qui: l'evento onclick parte al momento dell'attribuzione di setAttribute.
Ovvero, se il codice da eseguire per ripristinare il contenuto (per semplificare) è:

document.getElementById(idCella).setAttribute("onc lick","alert('ciao')");
(ho sostituito la funzione per editare con un alert)

appena clicco sul pulsante per annullare, mi viene ripristinato il backup del valore iniziale e subito dopo appare l'alert. Che invece dovrebbe comparire quando poi andrò a ricliccare sul valore da editare

Com'è possibile che quell'evento onclick (assegnato al td) venga eseguito alla pressione del pulsante per annullare?


Non so quanto sia riuscito a spiegarmi...