检查鼠标输出事件jQuery上是否有鼠标

时间:2011-05-17 16:53:12

标签: javascript jquery mouseevent

我想知道用户是否停止按下按钮。所以我捕获了$ button.mouseup(...)和$ button.mouseout(...)事件。但是,我希望mouseout事件仅在用户仍然按下鼠标时才会发生 - 否则,只要用户经过按钮,它就会触发。

有什么想法吗?

2 个答案:

答案 0 :(得分:8)

选中e.which,表示按下的按钮。

答案 1 :(得分:1)

快速而肮脏的方法是使用全局变量(或闭包;某种方式同时赋予mouseupmouseout函数访问同一个变量的权限:

var mouseIsUp = true,
    onMouseUp = function () {
        mouseIsUp = true;
        // ...
    },
    onMouseDown = function () {
        mouseIsUp = false;
    },
    onMouseOut = function () {
        if (!mouseIsUp) {
            // ...
        }
    };