JQuery Mousedown Mouseup в Chrome / Safari на окнах - PullRequest
1 голос
/ 16 февраля 2012

Я создал страницу, которая может прокручиваться с помощью мыши, как карты Google, но когда пользователь делает один щелчок по объекту, я хочу, чтобы он показывал что-то скрытое, я придумал очень простое решение:

var clicking = false;

//mouse clicked down
$(".tile").mousedown(function () {
    clicking = true;
});

//if mousemoves whilst its clicked down dont do mouse up as we are scrolling page
$(".tile").mousemove(function () {
    if (clicking == true) {
        clicking = false;
    }
});

//So if mouse hasnt moved show the hidden object
$(".tile").mouseup(function () { 
    if (clicking == true) {
        //Show the hidden thing
    }
}

Это работает во всех браузерах, кроме Chrome и Safari на Windows? так что, может быть, что-то с WebKit? Это работает, если я дважды щелкаю в этих браузерах, но предпочел бы, чтобы это был один щелчок. Мне было интересно, сталкивался ли кто-нибудь с этой проблемой или знает решение? Надеюсь, что это имеет смысл.

Спасибо

1 Ответ

0 голосов
/ 16 февраля 2012

mousedown ИЛИ mouseup отлично работают во всех браузерах, включая Chrome и Safari для Windows

, если не работает, используйте последний jQuery, также попробуйте:

$(".tile").bind("mousedown",function () { 
    if (clicking == true) {
        //Show the hidden thing
    }
}
...