2015-10-07 18 views
5

DOMANDA NON HA GIÀ UNA RISPOSTA (se è possibile fornire un codice che funziona invece di cercare su Google la mia domanda e collegarsi a qualsiasi risposta si presenti per i dolci e dolci punti internet, allora accetterò come risposta. già a tutte queste domande non fingere come funzionano a meno che non si può fornire il codice effettivo che aver testato)Come si acquisisce il mouse sulla finestra?

Se solo fare

$(window).on("mouseout", function() { alert("OUT"); }); 

si può mouseOut sul lato sinistro o destro la finestra e non si accende l'evento. Ho fatto un jsfiddle here ma in realtà funziona bene perché c'è un bordo attorno all'iframe.

Quindi qual è il modo migliore per sapere se un mouse ha lasciato la finestra? Posso mettere un bordo 1px intorno alla pagina (composto da 4 div). Posso controllare x/y e dire se il mouse è su un lato. Ma idealmente $ (window) .on ("mouseout", foo) mi direbbe quando il mouse ha lasciato la finestra.

+0

È possibile utilizzare un bordo trasparente con 'ridimensionamento della casella: border box ' – www139

+0

JQuery mouseleave funziona anche, ma non ricordo troppo; Guarderò il james mouseleave. – www139

+0

Dai un'occhiata a questo; http://stackoverflow.com/a/8873586/3011082 – www139

risposta

0

Questa risposta sta lavorando: https://stackoverflow.com/a/3187524/2831645

utilizzando jQuery si può riscrivere il codice come questo:

$(window).on("mouseout", function(e) { 
    if(!e.relatedTarget || e.relatedTarget.nodeName == 'HTML') { 
     alert('left window'); 
    } 
}); 

Il codice è stato testato su latests Firefox & Chrome.

+0

tu da uomo! Questo funziona per me sia con mouse out verticali che orizzontali. –

Problemi correlati