-
-
Save namlet/819586 to your computer and use it in GitHub Desktop.
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 - won't arbitrarily binding both events to a dom object mean that you could - say - have a mouseup event that occurs before the mousedown event? wouldn't that mean that the console.log(d) writes out an incomplete d object?
@namlet: what's the mouseup.box for?
@azizshamim - I guess. But isn't it equally possible that the late bound mouseup could be missed completely? At least in my model the coordinates will still be captured.
@namelet - I was wondering about the mouseup.box as well.
@webdevwilson - i have no idea. i'm a javascript newbie. i asked namlet for a "how to do x" this is the result...
@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. :)
mouseup.box is namespacing. That way when you unbind it, it only removes the handlers specifically registered with that namespace, mouseup.box.
deadHorse.beat();