2017-03-17 3 views
1

質問を表示するコンポーネントがあります。それぞれの質問は反応成分です。 Enterを押すと次の質問に移動します。私はonKeyPressをDiv要素に接続していますが、イベントは時々キャプチャされますが、時にはキャプチャされません。反応中のDivタグのKeyPressをトリガーできますか?

<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

私は、keyupイベントのイベントリスナーをcomponentWillMountに設定し、それがEnterキーであることを確認します。 componentWillUnmountのイベントリスナーを削除することを忘れないでください。

問題がフォーカスを持っているかどうかはわかりませんが、フォーカスされていない場合、キープレスイベントはその要素で発生しないため、何も起こりません。

+0

keyUp Listenerを使用するのは悪い考えですか? – Lakshmi

+0

どのイベントを聴きたいかによって異なります。キーアップを聞くことに何も問題はありません。 – spirift

関連する問題