1
嗨,我想運行一個功能,如果按下鼠標左鍵並拖動。jquery代碼工作在鉻,但不是火狐或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正在執行鼠標懸停代碼,無論是什麼按下。
我也曾嘗試以下
$("#tiles p").live("mousedown mouseover", function (e) {
if(e.which === 1){
updateMap(this);
}
});
再次按預期工作中鉻,但不能在Firefox或Safari ...
我這裏檢查:
http://api.jquery.com/event.which/
它告訴我每個瀏覽器的鼠標左鍵是= 1
它開始挫敗我,所以任何和所有的幫助將是真棒
爲什麼你不能把它分成兩個事件綁定?另外,使用'委託'或'on'而不是'live'。 – meze 2012-02-26 20:15:48
live是因爲它適用的元素是動態生成的,將綁定分開需要第三次綁定mouseup我試圖在儘可能少的行內做到這一點,並且按照你期望的方式在chrome中工作只是想知道爲什麼它不在safari或firefox中工作。分離綁定在所有瀏覽器中都能正常工作,雖然在時間上可能會有點兒缺陷 – rickstain 2012-02-26 22:11:30
您是否檢查過event.which的值?插入'console.log(event.which)'並在這裏發佈結果。 – iappwebdev 2012-02-28 11:01:52