鍍金池/ 問答/HTML/ JS判斷雙擊鍵盤shift鍵方法

JS判斷雙擊鍵盤shift鍵方法

收集JS雙擊shift鍵的方法,越多越好,例如:

let ot = 0;
document.onkeydown = (e) => {
    if (e.shiftKey) {
        let nt = new Date().getTime();
        let ct = nt - ot;
        if (ct > 0 && ct < 600) {
            console.log(e.keyCode);
        }
        ot = nt;
    }
};
回答
編輯回答
空痕

雙擊鼠標的是ondblclick,
連按兩下鍵盤,有個想法是,監(jiān)聽keyup事件,每次按下記變量keynum, +1,keynum為2按二下,一定時間內(nèi)沒有再按第二下清空keynum

2018年5月14日 16:25
編輯回答
擱淺

推薦 rxjs ,用了就不再想手動維護狀態(tài)了哈哈哈

const shiftPress$ = Rx.Observable.fromEvent(document, 'keydown')
  .filter(({ key }) => key === 'Shift')

const shiftDoublePress$ = shiftPress$.buffer(shiftPress$.debounceTime(600))
  .map(group => group.length)
  .filter(count => count >= 2)

shiftDoublePress$.subscribe(console.log)

https://jsfiddle.net/straybug...

2017年2月4日 21:05