So here is my script:
$(document).bind('mouseleave', function(event) {
// show popup
console.log("you are about to leave the form!");
//Get the A tag
var id = $("#dialog");
//Get the screen height and width
var maskHeight = $(document).height();
var maskWidth = $(window).width();
//Set heigth and width to mask to fill up the whole screen
$('#mask').css({'width':maskWidth,'height':maskHeight});
//transition effect
$('#mask').fadeIn(250);
$('#mask').fadeTo("slow",0.8);
//Get the window height and width
var winH = $(window).height();
var winW = $(window).width();
//Set the popup window to center
$(id).css('top', winH/2-$(id).height()/2);
$(id).css('left', winW/2-$(id).width()/2);
//transition effect
$(id).fadeIn(500);
});
This code works great on all browsers BUT IE. The only time it seems to work is when I’ve activated the “developer tools” … The actual bindable “mouseleave” trigger doesn’t seem to work.
Any ideas?
It seems that IE does not like the “console.log” call to be in the method. Once I removed that reference, all worked.
Can someone enlighten me as to why that might be?
IE only supports
console.log()when Developer Tools are on. I think it’s just a design decision they’ve made. You can try to overcome this in your code by defining your own logging function: