2015-11-30 4 views
0

У меня есть вещь кусок кода:KeyboardEvent.location ничего не возвращает

$('body').on('keydown', function(e) { 
    console.log(e.location) 
}); 

Похоже e.location ничего не возвращает, «неопределенные» появляется на консоли. Основная задача состояла в том, чтобы обнаружить, когда нажата левая смена, и когда правая. Я пошел в Google и нашел this, но это не работает для меня. Любые предложения?

ответ

2

Я считаю, что вы хотите e.originalEvent.location - я делал некоторые слежка вокруг e объекта и нашел это:

сдвиг вправо:

altKey: false 
bubbles: true 
cancelable: true 
char: undefined 
charCode: 0 
ctrlKey: false 
currentTarget: body 
data: undefined 
delegateTarget: body 
eventPhase: 2 
handleObj: Object 
isDefaultPrevented: returnFalse() 
jQuery21406245628797914833: true 
key: undefined 
keyCode: 16 
metaKey: false 
originalEvent: KeyboardEvent 
    altKey: false 
    bubbles: true 
    cancelBubble: false 
    cancelable: true 
    charCode: 0 
    ctrlKey: false 
    currentTarget: null 
    defaultPrevented: false 
    detail: 0 
    eventPhase: 0 
    isTrusted: true 
    isTrusted: true 
    keyCode: 16 
    keyIdentifier: "Shift" 
    keyLocation: 2 
    location: 2   // <--------------------- 

сдвиг влево

altKey: false 
bubbles: true 
cancelable: true 
char: undefined 
charCode: 0 
ctrlKey: false 
currentTarget: body 
data: undefined 
delegateTarget: body 
eventPhase: 2 
handleObj: Object 
isDefaultPrevented: returnFalse() 
jQuery21406245628797914833: true 
key: undefined 
keyCode: 16 
metaKey: false 
originalEvent: KeyboardEvent 
    altKey: false 
    bubbles: true 
    cancelBubble: false 
    cancelable: true 
    charCode: 0 
    ctrlKey: false 
    currentTarget: null 
    defaultPrevented: false 
    detail: 0 
    eventPhase: 0 
    isTrusted: true 
    isTrusted: true 
    keyCode: 16 
    keyIdentifier: "Shift" 
    keyLocation: 2 
    location: 1   // <--------------------- 

Используя это, вы можете сказать wh ich shift key нажата, так как левый сдвиг имеет origanalEvent.location1, а правая сменная имеет origanalEvent.location2, и похоже, что у любой другой клавиши есть origanalEvent.location из 0.

+0

Спасибо, это сработало для меня. –

Смежные вопросы