[Resolvido] Javascript e seus mistérios...
Tive problemas com eventos no javascript e demorei saber o que era, mas decobri, vejam o exemplo:
java script:
var teste = function(){ var dv = document.createElement("div"); dv.style.border = "1px solid red"; dv.style.width = "100px"; dv.style.height = "100px"; dv.onclick = function(){ alert("teste"); } var container = document.getElementById("container"); container.appendChild(dv);}window.onload = function(){ teste(); document.getElementById("container").innerHTML += "...";}
HTML
<html> <head> <body> <div id="container"></div> </body> </head></html>
Não sei se com vocês não haverá problema mas comigo o evento "onclick" adicionado a DIV criada na função "teste()" não funciona.
O motivo: A instrução [ document.getElementById("container").innerHTML += "..." ] contida no window.onload.
Qualquer alteração de conteúdo que a DIV#container sofrer sem ser via DOM os eventos contidos nos elementos (criados dinamicamente) dentro dela são perdidos. Não sei porque isso ocorre.
Se no lugar de [ document.getElementById("container").innerHTML += "..." ] fizer document.getElementById("container").appendChild(document.createTextNode("...")) o problema não ocorre.
Se alguém puder explicar fico grato!
[]'s
Discussão (2)
Carregando comentários...