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

   
Vista:
Imágen de perfil de xve

[solucionado] definir un evento sobre varios elementos con JavaScript

Publicado por xve (1597 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