score:23

Accepted answer
  1. add event listener: document.addeventlistener('keydown',this.keydownhandler)

  2. then in handler check e.keycode===13 && e.ctrlkey

  3. don't forget to remove event listener in componentwillunmount

const app = react.createclass({
  showmessage () {
    alert('some message');
  },
  keydownhandler(e){
    if(e.keycode===13 && e.ctrlkey) this.showmessage()
  },
  componentdidmount(){
    document.addeventlistener('keydown',this.keydownhandler);
  },
  componentwillunmount(){
    document.removeeventlistener('keydown',this.keydownhandler);
  },
  render () {
    return (
      <div>
        <h1>press ctrl+enter</h1>
        <button onclick={this.showmessage}>hit</button>
      </div>`
    );
  }
});
export default app;

Related Query

More Query from same tag