我想知道用户是否停止按下按钮。所以我捕获了$ button.mouseup(...)和$ button.mouseout(...)事件。但是,我希望mouseout事件仅在用户仍然按下鼠标时才会发生 - 否则,只要用户经过按钮,它就会触发。
有什么想法吗?
答案 0 :(得分:8)
选中e.which
,表示按下的按钮。
答案 1 :(得分:1)
快速而肮脏的方法是使用全局变量(或闭包;某种方式同时赋予mouseup
和mouseout
函数访问同一个变量的权限:
var mouseIsUp = true,
onMouseUp = function () {
mouseIsUp = true;
// ...
},
onMouseDown = function () {
mouseIsUp = false;
},
onMouseOut = function () {
if (!mouseIsUp) {
// ...
}
};