-
Cómo comprobar si el ratón está sobre DIV en JavaScript
-
JavaScript permite a un sitio web para responder a los eventos de usuario, cambiar el contenido de una página sobre la base de varios ratón y pulsaciones de teclas. Menús y botones a menudo sirven como disparadores para esos cambios, pero DIVs pueden ser igualmente sensibles. Un DIV es una etiqueta HTML que sirve como contenedor de otros contenidos, tales como texto y fotos. Al pasar el ratón sobre cualquier parte de la DIV puede desencadenar un cambio. Al mover el ratón fuera del DIV puede desencadenar otro.Instrucciones
1 Inserte una función de ayuda entre las etiquetas de la cabeza que le permite a su script funcione en todos los navegadores. La función será añadir detectores de eventos a elementos HTML en la página. Cuando se le llama, la función auxiliar tiene tres argumentos, o conjuntos de instrucciones: el elemento de destino, tipo de evento y función a llamar.
función addEvent (obj, tipo, fn) {
si (obj.attachEvent) {
obj['e'+type+fn] = fn;
obj [+ Tipo fn] = function () {obj [ 'e' + Tipo +] Lit (window.event);}
obj.attachEvent ( "on" + Tipo, obj [Tipo +] Lit);
} else
obj.addEventListener(type, fn, false);
}
2 Crear una función entre las etiquetas de la cabeza que utiliza el evento de carga o la carga de la página en la ventana, al llamar a la función "testMouse". Esto adjuntará dos detectores de eventos a su DIV:
window.onload = testMouse;
3 Crear funciones que darán como resultado el color de su DIV cambiar en la página en función de los eventos mouseover y mouseout. Comience por crear "testMouse", lo que hará que la DIV por su ID de "testDiv." Esté atento a los eventos mouseover o mouseout y llamar a las funciones de "addColor" o "removeColor", respectivamente. Crear las funciones de "removeColor" que cambian el color de fondo "addColor" y.
funcionar testMouse () {
var divField=document.getElementById("testDiv");
addEvent (divField, 'por encima del ratón', addColor);
addEvent (divField, 'mouseout', removeColor);
}
addColor función () {
var divField=document.getElementById("testDiv");
divField.style.backgroundColor = "# CCC";
}
removeColor función () {
var divField=document.getElementById("testDiv");
divField.style.backgroundColor = "";
}
4 Coloque las etiquetas DIV y el texto de la muestra entre las etiquetas del cuerpo de su documento:
<Div id = "testDiv">
<P> texto aquí el texto aquí el texto aquí. </ P>
</ Div>
5 Coloque los estilos CSS para su DIV entre las etiquetas de la cabeza para que sea un tamaño fijo y darle un fondo azul:
<Style type = "text / css">
testDiv {width: 200px; altura: 50px; background-color: # 6699CC; padding: 5px 5px 5px 10px; }
</ Style>6 Guarde la página y abrirlo en un navegador para probar el código. Al pasar el ratón por encima de su DIV debe convertirlo de azul a gris. Moviendo el ratón fuera de la DIV debería volver a gris.
El código completo debe tener este aspecto:
<Html>
<Head>
<Style type = "text / css">
testDiv {width: 200px; altura: 50px; background-color: # 6699CC; padding: 5px 5px 5px 10px; }
</ Style><Script type = "text / javascript">
función addEvent (obj, tipo, fn) {
si (obj.attachEvent) {
obj['e'+type+fn] = fn;
obj [+ Tipo fn] = function () {obj [ 'e' + Tipo +] Lit (window.event);}
obj.attachEvent ( "on" + Tipo, obj [Tipo +] Lit);
} else
obj.addEventListener(type, fn, false);
}
window.onload = testMouse;
funcionar testMouse () {
var divField=document.getElementById("testDiv");
addEvent (divField, 'por encima del ratón', addColor);
addEvent (divField, 'mouseout', removeColor);
}
addColor función () {
var divField=document.getElementById("testDiv");
divField.style.backgroundColor = "# CCC";
}
removeColor función () {
var divField=document.getElementById("testDiv");
divField.style.backgroundColor = "";
}
</ Script>
</ Head>
<Body>
<Div id = "testDiv">
<P> texto aquí el texto aquí el texto aquí. </ P>
</ Div>
</ Body>
</ Html>