2016-08-25 103 views

回答

2

您必須在body/window級別捕獲按鍵。表格元素沒有輸入焦點,所以你不能捕獲表格中的鍵(沒有輸入元素)。

var cmdDown = false; 
 

 
document.body.addEventListener('keydown', function(event) { 
 
    var key = event.keyCode || event.charCode || 0; 
 
    if ([91,93,224,17].indexOf(key) !== -1) { 
 
    cmdDown = true; 
 
    } 
 
    console.log('CMD DOWN: ' + cmdDown.toString());  
 
}); 
 

 
document.body.addEventListener('keyup', function(event) { 
 
    var key = event.keyCode || event.charCode || 0; 
 
    if ([91,93,224,17].indexOf(key) !== -1) { 
 
    cmdDown = false; 
 
    } 
 
    console.log('CMD DOWN: ' + cmdDown.toString()); 
 
});

+0

這是做到這一點的唯一途徑? 我必須在componentDidMount中添加偵聽器到身體? –

+0

是的,或者你可以使用'window.addEventListener'或'onkeydown'事件。 – Hardy

+0

這是解決我的問題的反應方式嗎? –