1

如何在jQuery中將同時事件綁定到選擇器?如何使用jQuery綁定同時事件

我的意思不是如何捕捉可以單擊或懸停的一些元素,但如何捕捉條件下,兩個事件將兩者同時發生。例如,鼠標懸停和KEYDOWN,或點擊的keydown,像移+點擊提前等

感謝。

+1

捕捉mouseover + keydown與shift +單擊非常不同。 –

回答

2

檢測SHIFT +點擊很簡單:檢查event對象的shiftKey財產。

檢查按下的鍵+鼠標事件(同時),在另一方面...:

  • 綁定事件到KEYDOWN/KEYUP功能,其存儲event.keyCodeevent.which在可變
  • 創建一個輪詢器函數,該函數定期重置此變量,以便只記錄最後(示例:) 300毫秒內的鍵擊
  • 添加mousedown事件,該事件檢查上次記憶的keyCode(如果存在),並執行相關代碼,如果適用。

對於一個完整的碼,其處理多個事件(二KEYDOWN事件,在該示例),見my previous answer

+0

那麼,這是最接近我已經嘗試,免除定期重置變量,這聽起來像個好主意。感謝大家。 – cincplug

1

多個事件類型可以一次通過,包括每一個用空格隔開的約束:

$('#foo').bind('mouseenter mouseleave', function() { 
    $(this).toggleClass('entered'); 
}); 
+0

他希望該功能只在兩個事件發生時纔會觸發。這在這種情況下不起作用。 – FRD

0

你抓不到鼠標事件和鍵盤事件同時發生或任何事件,這是因爲每個事件處理程序一次只能處理一個事件。

0

JQuery不提供任何此類功能。你必須通過事件來跟蹤狀態變化。