触发按键事件onClick in react?

问题描述 投票:0回答:1

在我的组件中,我想在特定键码上触发假onKeypress,是否可能?我有这个代码:

class componentName extends Component {
 fireKey = e => {
    function makeKeyPressEvent(keyName, keyCode, charCode){
      var event = new KeyboardEvent('keypress');
      Object.defineProperties(event, {
          charCode: {value: charCode},
          keyCode: {value: keyCode},
          keyIdentifier: {value: keyName},
          which: {value: keyCode}
      });
      return event;
    }
    window.addEventListener('keypress', function(event){
      console.log('key pressed!',
        event.keyIdentifier, event.keyCode, event.charCode, event)
    }, true);
    var enterKeyEvent = makeKeyPressEvent('onClick', 39, 39);
    window.dispatchEvent(enterKeyEvent);
  }
  render (

        ) {
    return (
      <div>
        <button onClick={this.fireKey}> > </button>
      </div>
    )
  }
}

或者如何手动更改onClick按钮中的事件keyCode?

javascript reactjs
1个回答
1
投票
you can use this:-
    class componentName extends Component {
     fireKey = e => {
        if(e.keyCode == 13){        //compare with your keyboard key
                //your code here
             }
      }
      render () {
        return (
          <div>
            <button onKeyPress={this.fireKey}> > </button>
          </div>
        )
      }
    }
© www.soinside.com 2019 - 2024. All rights reserved.