Veamos con un ejemplo su funcionamiento. Dispondremos dos botones que al ser presionados llaman a una misma función.
Mostraremos algunas de las propiedades de los objetos que emitieron el evento.
<!DOCTYPE html> <html> <head> <title>Problema</title> <script > function mostrarAtributos(objeto) { var ref=document.getElementById('titulo'); ref.firstChild.nodeValue='Name:'+objeto.name+' Id:'+objeto.id+' Value:'+objeto.value; } </script> <link rel="StyleSheet" href="estilos.css" type="text/css"> </head> <body> <h1 id="titulo">Datos del objeto que emite el evento.</h1> <input type="button" name="boton1" value="boton 1" id="b1" onclick="mostrarAtributos(this)"> <br> <input type="button" name="boton2" value="boton 2" id="b2" onclick="mostrarAtributos(this)"> </body> </html>
El código de javascript es:
function mostrarAtributos(objeto) { var ref=document.getElementById('titulo'); ref.firstChild.nodeValue='Name:'+objeto.name+' Id:'+objeto.id+' Value:'+objeto.value; }
La forma de inicializar la propiedad onclick ahora es:
onclick="mostrarAtributos(this)"
En la función mostrarAtributos primero obtenemos la referencia al párrafo donde mostraremos los datos:
var ref=document.getElementById('titulo');
Y luego accedemos a su nodo hijo (es decir al nodo de texto) para mostrar la informacion sobre las propiedades del objeto que generó el evento:
ref.firstChild.nodeValue='Name:'+objeto.name+' Id:'+objeto.id+' Value:'+objeto.value;