JavaScript - [solucionado] definir un evento sobre varios elementos con JavaScript

 
Vista:
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

[solucionado] definir un evento sobre varios elementos con JavaScript

Publicado por xve (2100 intervenciones) el 04/09/2014 09:00:44
He tenido que generar un evento sobre varios elementos de una pagina web, como por ejemplo, si queremos generar un evento click para cada div que hay en nuestra pagina.

En jquery es tan sencillo como:

1
2
3
$("div").onclick(function(){
    alert($(this).html());
});

Pero en Javascript, hay que recorrer cada elemento y generarle dicho evento para cada uno de ellos:
1
2
3
4
5
6
7
8
9
10
function miFuncion(e)
{
    alert(e.currentTarget.innerHTML);
}
 
elementos=document.getElementsByTagName("div");
for(var i=0;i<elementos.length; i++)
{
    elementos[i].addEventListener("click",mifuncion);
}


Si esos div's estuvieran dentro de otro div, con un id en concreto, seria algo así:

En jquery:
1
2
3
$("#miId div").onclick(function(){
    alert($(this).html());
});

En JavaScript:
1
2
3
4
5
6
7
8
9
10
function miFuncion(e)
{
    alert(e.currentTarget.innerHTML);
}
 
elementos=document.getElementById("miId").getElementsByTagName("div");
for(var i=0;i<elementos.length; i++)
{
    elementos[i].addEventListener("click",mifuncion);
}

Espero que os sirva de ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder