在React中按下(Ctrl + Enter)时调用函数
我正在制作一个应用程序,我想showMessage在用户按下Ctrl+
时触发一个功能(在本例中为)Enter。我将如何做到这一点,最好不要使用jQuery?
    import React from "react"    const App = React.createClass({
      showMessage () {
        console.log('hit');
      },
render () {
        return (
          <div>
            <button onClick={this.showMessage}>Hit</button>
          </div>
        );
      }
    });
    module.exports = App;
回答:
- 添加事件监听器: - document.addEventListener('keydown',this.keydownHandler)
- 然后在处理程序中检查 - e.keyCode===13 && e.ctrlKey
- 不要忘记删除事件监听器 - 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;
以上是 在React中按下(Ctrl + Enter)时调用函数 的全部内容, 来源链接: utcz.com/qa/423506.html








