Skip to content

Instantly share code, notes, and snippets.

@nitishn
Created January 26, 2015 01:01
Show Gist options
  • Save nitishn/4048f80a5f6ab3a4cf55 to your computer and use it in GitHub Desktop.
Save nitishn/4048f80a5f6ab3a4cf55 to your computer and use it in GitHub Desktop.
Calculate the position of a click inside an element
$(document).on('click', '.my-class', function(event) {
var position = compute_xy_click(event, this);
});
function compute_xy_click(event, element) {
var position = [];
var gardientPos = $(element).offset();
var posx = 0;
var posy = 0;
if ( !event ) var event = window.event;
if ( event.pageX || event.pageY ) {
posx = event.pageX;
posy = event.pageY;
}
else if ( event.clientX || event.clientY ) {
posx = event.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
posy = event.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
posx = Math.floor(posx - gardientPos.left);
posy = Math.floor(posy - gardientPos.top);
position['xpos'] = posx;
position['ypos'] = posy;
return position;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment