How can I detect a mouse leaving a page by moving up to the address bar?
javascript, jquery, jquery-events
Solution
Old Question, but I think I should share my code also, maybe someone finds it useful.
$(function(){
var mouseY = 0;
var topValue = 0;
window.addEventListener("mouseout",function(e){
mouseY = e.clientY;
if(mouseY<topValue) {
alert("Do something here!!!");
}
},
false);
});
JSFIDDLE Link
Problem
I have created a jQuery event that pops up a dialog when a visitor is leaving a page. I am using the e.pageY to detect the mouse position. when the mouse is at Y: less than 2, the dialog pops up. the problem is, when the I scroll down through the page and decided to leave the page, the pop up does not show since the mouse is not at Y: less than 2. How can I fix that. i.e. when I leave the page and just hover over the address bar, a pop up appears despite scrolling down. Here my code and a working example at the bottom. ``` var mouseLastYPos = null; $(document).mousemove(function(e){ if(mouseLastYPos){ if (e.pageY < mouseLastYPos && e.pageY <= 2){ $('#mystuff').show(); } } mouseLastYPos = e.pageY; }); ``` Working example: http://jsfiddle.net/bmHbt/