js監聽鍵盤 滑鼠組合操作

2022-03-04 20:32:44 字數 626 閱讀 9376

鑑於各種需求問題,有自己寫了乙個甘特圖,比較簡單,如果這個不符合大家需求,可以看看這個,**可直接執行: 

近期做一款甘特圖的元件,想要實現 ctrl + 滾輪  放大縮小甘特圖時間最小刻度的功能,剛開始以為會有組合監聽的辦法,後來發現行不通,鍵盤和滑鼠監聽的方式不同。下面大致說一下實現方式。

1、按鍵監聽:js無法做到同時監聽,所以我們將監聽按鍵的按下 、彈起狀態,並儲存。onkeydown  按下,將變數 ctrldown  設定為 true,onkeyup  時設定為false,這裡我監聽的是ctrl, 同理,如果想監聽多按鍵,比如  ctrl + shift , 就設定2個變數,皆為true代表按下了。

2、滑鼠監聽: 我這裡監聽的是滾輪,當然左右擊、雙擊、移入移出都是一樣的做法,只需要對指定dom做事件監聽即可,注意頁面登出時,removeeventlistener 解綁事件。在滑鼠事件監聽裡面,判斷鍵盤監聽變數的值,true 代表正在按壓狀態。注意阻止瀏覽器的預設事件。

這樣就實現了組合操作的監聽,希望對你有幫助。ps:測試資料有些爛,見諒

JS監聽鍵盤組合事件

今天看到乙個需求,要是使用alt a快捷鍵實現某個功能。keydown keyup keypress都可以監聽鍵盤事件。他們之間的區別在於 document.addeventlistener keydown e document.addeventlistener keypress e documen...

Vue監聽鍵盤滑鼠事件

vue頁面監聽鍵盤滑鼠等事件。官方給的例子是在input標籤中的,我們想要的效果是不使用固定標籤。mounted 這裡定義了,鍵盤按出的時候的事件 和 滑鼠滑輪滾動的事件。這裡可以自行查詢下有哪些事件,關鍵字 html dom event 可參考 w3school 菜鳥教程 這裡根據addevent...

JS實現鍵盤監聽 包括組合鍵

依然使用案例驅動 案例是學習的最好實踐!document.nkeyd wn function event if e e.keycode 113 if e e.keycode 13 if e.keycode 86 e.ctrlkey script head body html js 裡面的鍵盤事件經常...