小编典典

在reactjs中收听按键文档

reactjs

我想绑定以在escape按下时关闭活动的反应引导弹出窗口。这是代码

_handleEscKey:function(event){
         console.log(event);
        if(event.keyCode == 27){
          this.state.activePopover.hide();
        }
   },

  componentWillMount:function(){
     BannerDataStore.addChangeListener(this._onchange);
     document.addEventListener("click", this._handleDocumentClick, false);
     document.addEventListener("keyPress", this._handleEscKey, false);
   },


   componentWillUnmount: function() {
     BannerDataStore.removeChangeListener(this._onchange);
      document.removeEventListener("click", this._handleDocumentClick, false);
      document.removeEventListener("keyPress", this._handleEscKey, false);
   },

但是,当我按任意键时,控制台中都不会记录任何内容。我也尝试在窗口上以及不同情况下使用’keypress’,’keyup’等来收听,但似乎我做错了。


阅读 255

收藏
2020-07-22

共1个答案

小编典典

您应该使用keydown而不是keypress

Keypress通常仅用于根据文档产生字符输出的键

按键

当按下某个键时会触发keypress事件,并且该键通常会产生一个字符值

按键

按下键时会触发keydown事件。

2020-07-22