Skip to content

Instantly share code, notes, and snippets.

@jethrolarson
Created June 16, 2011 19:49
Show Gist options
  • Select an option

  • Save jethrolarson/1030087 to your computer and use it in GitHub Desktop.

Select an option

Save jethrolarson/1030087 to your computer and use it in GitHub Desktop.
isMouseWithin.js
(function($){
window.util ={mousepos:{}};
//Constantly tracks mouse position
$(document).bind('mousemove.util', function(e){
//adapted from http://www.quirksmode.org/js/events_properties.html
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
util.mousepos.left = e.pageX;
util.mousepos.top = e.pageY;
}
else if (e.clientX || e.clientY) {
util.mousepos.left = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
util.mousepos.top = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
});
util.isMouseWithin = function(selector){
var $el = $(selector),
pos = $el.position(),
w = $el.outerWidth(),
h = $el.outerHeight();
return util.mousepos.left > pos.left
&& util.mousepos.left < pos.left + w
&& util.mousepos.top > pos.top
&& util.mousepos.top < pos.top + h;
};
})(jQuery);//jQuery 1.0+
@jethrolarson

Copy link
Copy Markdown
Author

Created this for a hover augment which ended up being impractical. Saving for future use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment