react imagen ejemplo color javascript javascript-events

imagen - onmouseover javascript ejemplo



Evento Javascript onHover (4)

¿Puedes aclarar tu pregunta? ¿Qué es "ohHover" en este caso y cómo se corresponde con un retraso en el tiempo de vuelo estacionario?

Dicho eso, creo que lo que probablemente quieras es ...

var timeout; element.onmouseover = function(e) { timeout = setTimeout(function() { // ... }, delayTimeMs) }; element.onmouseout = function(e) { if(timeout) { clearTimeout(timeout); } };

O addEventListener / attachEvent o el método de abstracción de eventos de tu biblioteca favorita.

¿Existe alguna forma canónica de configurar un evento JS onHover con el onmouseover, onmouseout y algún tipo de temporizadores existentes? O simplemente cualquier método para activar una función arbitraria si y solo si el usuario se ha mantenido sobre el elemento durante cierto tiempo.


No creo que necesites / quiera el tiempo de espera.

onhover (hover) se definiría como el período de tiempo mientras "sobre" algo. En mi humilde opinión

onmouseover = start... onmouseout = ...end

Para el registro, he hecho algunas cosas con esto para "falsificar" el evento hover en IE6. Fue bastante caro y al final lo abandoné a favor del rendimiento.


Si usa la biblioteca JQuery, puede usar el evento .hover () que fusiona el evento mouseover y mouseout y lo ayuda con los elementos secundarios y secundarios:

$(this).hover(function(){},function(){});

La primera función es el inicio del vuelo estacionario y el siguiente es el final. Lea más en: http://docs.jquery.com/Events/hover


¿Qué tal algo como esto?

<html> <head> <script type="text/javascript"> var HoverListener = { addElem: function( elem, callback, delay ) { if ( delay === undefined ) { delay = 1000; } var hoverTimer; addEvent( elem, ''mouseover'', function() { hoverTimer = setTimeout( callback, delay ); } ); addEvent( elem, ''mouseout'', function() { clearTimeout( hoverTimer ); } ); } } function tester() { alert( ''hi'' ); } // Generic event abstractor function addEvent( obj, evt, fn ) { if ( ''undefined'' != typeof obj.addEventListener ) { obj.addEventListener( evt, fn, false ); } else if ( ''undefined'' != typeof obj.attachEvent ) { obj.attachEvent( "on" + evt, fn ); } } addEvent( window, ''load'', function() { HoverListener.addElem( document.getElementById( ''test'' ) , tester ); HoverListener.addElem( document.getElementById( ''test2'' ) , function() { alert( ''Hello World!'' ); } , 2300 ); } ); </script> </head> <body> <div id="test">Will alert "hi" on hover after one second</div> <div id="test2">Will alert "Hello World!" on hover 2.3 seconds</div> </body> </html>