I want to know if a user stops pressing a button. So I capture the $button.mouseup(...) and $button.mouseout(...) events. However, I want the mouseout event to only matter when the user is still pressing the mouse- Otherwise, it will fire whenever the user passes over the button.
Any ideas?
I want to know if a user stops pressing a button. So I capture the $button.mouseup(...) and $button.mouseout(...) events. However, I want the mouseout event to only matter when the user is still pressing the mouse- Otherwise, it will fire whenever the user passes over the button.
Any ideas?
Share Improve this question asked May 17, 2011 at 16:53 YarinYarin 184k155 gold badges410 silver badges524 bronze badges 1-
You can just set a global variable to
true
on mousedown and get that value onmouseout
. – pimvdb Commented May 17, 2011 at 16:55
2 Answers
Reset to default 8Check e.which
, which indicates the pressed button.
A quick and dirty method would be to use globals (or closures; some way of giving both the mouseup
and the mouseout
functions access to the same variable):
var mouseIsUp = true,
onMouseUp = function () {
mouseIsUp = true;
// ...
},
onMouseDown = function () {
mouseIsUp = false;
},
onMouseOut = function () {
if (!mouseIsUp) {
// ...
}
};