2013-08-19 84 views
8

我一直在想,如果我能檢測到CTRLSHIFT鍵沒有使用keydown事件按下。沒有keydown事件檢測CTRL和SHIFT鍵?

的原因是,我創建在JavaScript某種網格觀察器,我實現通過按住CTRL SHIFT 關鍵,因爲它在最普通的觀衆,編輯等功能選擇不同的項目。

問題是,當焦點不在頁面上的任何地方。例如,我將頁面添加到書籤。再將我抱CTRLSHIFT並單擊該項目,但它的keydown沒有被觸發的正常動作。

任何省略這個的方法?也許不是,但對於那些將它視爲我自己明顯的Bug的客戶來說,這可能會令人困惑。

+0

如果他們認爲它是你的錯誤,那是他們的錯。如果他們不想關注你的頁面,他們不會得到你的功能 – Ian

+2

你也可以在'onclick'處理程序中檢測這些鍵...... – Teemu

+1

@Teemu好點。我不知道爲什麼使用'keydown'事件。一切都應該在點擊點進行檢查 – Ian

回答

15

你並不需要在所有的所有鍵事件檢測按CtrlAlt鍵當鼠標點擊MDN

的事件對象包含以下信息:

element.addEventListener('click', function (e) { 
    console.log(e.shiftKey); 
    console.log(e.ctrlKey); 
    console.log(e.altKey); 
}); 

A demo at jsFiddle

這些屬性也可以在鍵盤事件處理程序中讀取。

相關問題