为了账号安全,请及时绑定邮箱和手机立即绑定

如何处理ReactJS中的onKeyPress事件?

如何处理ReactJS中的onKeyPress事件?

月关宝盒 2019-12-18 16:21:59
如何使onKeyPress事件在ReactJS中起作用?当enter (keyCode=13)按下时,它应该发出警报。var Test = React.createClass({    add: function(event){        if(event.keyCode == 13){            alert('Adding....');        }    },    render: function(){        return(            <div>                <input type="text" id="one" onKeyPress={this.add} />                </div>        );    }});React.render(<Test />, document.body);
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

我正在使用React 0.14.7,使用onKeyPress并event.key运行良好。


handleKeyPress = (event) => {

  if(event.key === 'Enter'){

    console.log('enter press here! ')

  }

}

render: function(){

     return(

         <div>

           <input type="text" id="one" onKeyPress={this.handleKeyPress} />

        </div>

     );

}


查看完整回答
反对 回复 2019-12-18
?
米脂

TA贡献1836条经验 获得超3个赞

render: function(){

     return(

         <div>

           <input type="text" id="one" onKeyDown={this.add} />

        </div>

     );

}

onKeyDown检测keyCode事件。


查看完整回答
反对 回复 2019-12-18
?
largeQ

TA贡献2039条经验 获得超7个赞

对我而言onKeyPress,e.keyCode始终是0,但e.charCode具有正确的价值。如果在中使用onKeyDown了正确的代码e.charCode。


var Title = React.createClass({

    handleTest: function(e) {

      if (e.charCode == 13) {

        alert('Enter... (KeyPress, use charCode)');

      }

      if (e.keyCode == 13) {

        alert('Enter... (KeyDown, use keyCode)');

      }

    },

    render: function() {

      return(

        <div>

          <textarea onKeyPress={this.handleTest} />

        </div>

      );

    }

  });


查看完整回答
反对 回复 2019-12-18
  • 3 回答
  • 0 关注
  • 1392 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信