Tecnología

Inicio

Cómo comprobar si el ratón está sobre DIV en JavaScript

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>