2017-03-17 43 views
1

我有它顯示問題的組件。每個問題都是反應組分。在按Enter鍵時,它應該導航到下一個問題。我已將onKeyPress連線到Div元素,但事件有時會被捕獲,有時卻不會。我們可以在反應中觸發KeyPress的Div標籤

<div className="-" onKeyPress={(e) => this.navigateToNext(e)}> 
    <div className="preview-head"> 
    //Other stuff here 
    </div>{/* preview-container*/} 
</div> 

navigateToNext(e) { 
    if (option.get('selected') === true && e.charCode === 13) { 
       this.goToNextQuestion(); 
    } 
} 

任何人都可以告訴我任何其他方式來處理這個問題。

回答

1

我會在componentWillMount中連接一個事件監聽器,並檢查它是輸入鍵。請記住刪除componentWillUnmount中的事件偵聽器。

我想這個問題是圍繞有焦點的div。如果沒有聚焦,按鍵事件不會觸發該元素,因此什麼都不會發生

+0

使用keyUp監聽器不是壞主意嗎? – Lakshmi

+0

這取決於你想聽哪個事件。聽音樂沒有任何問題。 – spirift

相關問題