jquery代码适用于chrome但不适用于firefox或safari

时间:2012-02-26 20:05:31

标签: jquery firefox safari

嗨我正在尝试按下并拖动鼠标时运行一个功能。

我似乎无法弄清楚以下代码有什么问题:

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中,无论是否按下任何内容,它都会在mouseover上执行代码。

我也试过以下

$("#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 :(得分:0)

即使没有按下按钮,似乎firefox也将e.which设置为1。

Demo