Confeccionemos una página que muestre las propiedades más importantes del objeto event:hay que recordar que esta página solo funcionará en navegadores que respetan los estándares del W3C, actualmente se acercan al 100%.
<!DOCTYPE html> <html> <head> <title>Problema</title> <script> window.addEventListener('load',inicializarEventos,false); function inicializarEventos() { var ob=document.getElementById('recuadro'); ob.addEventListener('click',presionMouse,false); } function presionMouse(e) { var ob=e.target; while (ob.hasChildNodes()) { ob.removeChild(ob.lastChild); } var nt=document.createTextNode('Tecla alt presionada (e.altKey) ? '+e.altKey); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('Tecla ctrl presionada (e.ctrlKey) ? '+e.ctrlKey); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('Tecla shift presionada (e.shiftKey) ? '+e.shiftKey); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('Nombre del evento (e.type) ? '+ e.type); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('El elemento que causo el evento (e.target) ? '+e.target); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada x del mouse respecto a la ventana (e.clientX) ? '+ e.clientX); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada y del mouse respecto a la ventana (e.clientY) ? '+ e.clientY); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada x del mouse respecto a la pantalla completa (e.screenX) ? '+ e.screenX); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada y del mouse respecto a la pantalla completa (e.screenY) ? '+ e.screenY); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada x del mouse respecto al comienzo de la página (e.pageX) ? '+ e.pageX); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada y del mouse respecto al comienzo de la página (e.pageY) ? '+ e.pageY); ob.appendChild(nt); insertarBR(ob); } function insertarBR(ob) { var elemento=document.createElement('br'); ob.appendChild(elemento); } </script> <Style> #recuadro { font-family:Courier; font-size:12px; background-color:#ffffcc; border-width:1px; border-style:dotted; border-color:#ffaa00; padding:20px; } </Style> </head> <body> <h1>Navegadores que cumplen el estandar de W3C.</h1> <pre id="recuadro"> Presione con el mouse el recuadro. </pre> </body> </html>
El código javascript es:
window.addEventListener('load',inicializarEventos,false); function inicializarEventos() { var ob=document.getElementById('recuadro'); ob.addEventListener('click',presionMouse,false); } function presionMouse(e) { var ob=e.target; while (ob.hasChildNodes()) { ob.removeChild(ob.lastChild); } var nt=document.createTextNode('Tecla alt presionada (e.altKey) ? '+e.altKey); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('Tecla ctrl presionada (e.ctrlKey) ? '+e.ctrlKey); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('Tecla shift presionada (e.shiftKey) ? '+e.shiftKey); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('Nombre del evento (e.type) ? '+ e.type); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('El elemento que causo el evento (e.target) ? '+e.target); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada x del mouse respecto a la ventana (e.clientX) ? '+ e.clientX); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada y del mouse respecto a la ventana (e.clientY) ? '+ e.clientY); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada x del mouse respecto a la pantalla completa (e.screenX) ? '+ e.screenX); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada y del mouse respecto a la pantalla completa (e.screenY) ? '+ e.screenY); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada x del mouse respecto al comienzo de la página (e.pageX) ? '+ e.pageX); ob.appendChild(nt); insertarBR(ob); var nt=document.createTextNode('La coordenada y del mouse respecto al comienzo de la página (e.pageY) ? '+ e.pageY); ob.appendChild(nt); insertarBR(ob); } function insertarBR(ob) { var elemento=document.createElement('br'); ob.appendChild(elemento); }