Проверьте, не нажата ли мышь на событии mouseout - jQuery - PullRequest
2 голосов
/ 17 мая 2011

Я хочу знать, перестанет ли пользователь нажимать кнопку. Поэтому я фиксирую события $ button.mouseup (...) и $ button.mouseout (...). Однако я хочу, чтобы событие mouseout имело значение только тогда, когда пользователь все еще нажимает мышь. В противном случае оно будет срабатывать всякий раз, когда пользователь нажимает кнопку.

Есть идеи?

Ответы [ 2 ]

8 голосов
/ 17 мая 2011

Отметьте e.which, что указывает на нажатую кнопку.

1 голос
/ 17 мая 2011

Быстрый и грязный метод состоит в том, чтобы использовать глобальные переменные (или замыкания; какой-то способ дать функциям mouseup и mouseout доступ к одной и той же переменной):

var mouseIsUp = true,
    onMouseUp = function () {
        mouseIsUp = true;
        // ...
    },
    onMouseDown = function () {
        mouseIsUp = false;
    },
    onMouseOut = function () {
        if (!mouseIsUp) {
            // ...
        }
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...