addEventListener para um elemento, com o próprio elemento como parâmetro
Antes de tudo, desculpe se o título não é o melhor, não consegui encontrar um melhor.
Como posso definir uma função como clickEvent para uma Div usando javascript e, ao mesmo tempo, também definir o parâmetro da função para ser a própria Div?
Por exemplo:
eu tenho umHTML arquivo que possui:
<span id='parent'>
<div class='child'></div>
</span>
E umJS arquivo onde eu tenho o seguinte código:
var el = document.getElementById("parent").getElementsByClassName("child")[0];
el.onclick = someFuntion(this);
Mas o problema é que eu quero que othis
paramenter referem-se aodiv.child
, para que quando eu clicar no Div, ele passe como um parâmetro, como um elemento DOM, possibilitando usá-lo dentro desomeFuntion(element)
assim como qualquer outro elemento DOM:element#id
, por exemplo.
Soluções experimentadas:
el.addEventListener("click", someFuntion(event), false);
el.addEventListener("click", someFuntion(this), false);
el.addEventListener("click", someFuntion(el), false);
$("#parent #child").bind("click", someFuntion(this));
el.onclick = someFuntion(divIntoSpan);
SOLUÇÃO:el.onclick = someFuntion;
function someFunction(e){
if(e.target){
//remember to use "e.target" from here on, instead of only "e"
//e.id (error: undefined); e.target.id (correct)
}
}