JQuery код работает в Chrome, но не Firefox или Safari - PullRequest
1 голос
/ 27 февраля 2012

Привет, я пытаюсь запустить функцию, если левая мышь нажата и перетащена.

Я не могу понять, что не так со следующим кодом:

var leftbuttondown = false;
$("#tiles p").live("mousedown mouseover", function (e) {
(e.which === 1) ? leftbuttondown = true : leftbuttondown = false ;
if(leftbuttondown === true){
updateMap(this);
}
});

код работает как положено в chrome, но в Firefox и Safari он выполняет код при наведении курсора мыши независимо от того, что нажата.

я также попробовал следующее

$("#tiles p").live("mousedown mouseover", function (e) {
if(e.which === 1){
updateMap(this);
}
});

снова работает как положено в Chrome, но не в Firefox или Safari ...

Я проверил здесь:

http://api.jquery.com/event.which/

, который говорит мне, что левая кнопка мыши для каждого браузера равна = 1

это начинает расстраивать меня, поэтому любая помощь будет потрясающей

1 Ответ

0 голосов
/ 12 сентября 2012

Кажется, что firefox установил значение e.which на 1, даже если кнопка не нажата.

Демо

...