Skip to content

Instantly share code, notes, and snippets.

@namlet
Created February 9, 2011 23:37
Show Gist options
  • Save namlet/819586 to your computer and use it in GitHub Desktop.
Save namlet/819586 to your computer and use it in GitHub Desktop.
Maintain selection coordinates using a closure. This example using jQuery.
var boxCoord = function(endCoord) {
var coord = endCoord;
return function(anotherCoord) {
return [anotherCoord, coord];
}
}
$('body').mousedown(function(e){
var thate = e;
$(this).mouseup(function(e){
var box = boxCoord([e.pageX,e.pageY])([thate.pageX,thate.pageY]);
console.log(box);
});
});
@webdevwilson
Copy link

@azizshamim - ha ha, no one does. Perhaps the browser is slow firing the mousedown event and for some reason the mouseup is fired before the mousedown. Surely that violates a spec or something. Of course, no browser implementation would ever dare to violate a spec. Would they? Welcome to javascript. :)

@namlet
Copy link
Author

namlet commented Feb 11, 2011

mouseup.box is namespacing. That way when you unbind it, it only removes the handlers specifically registered with that namespace, mouseup.box.

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