如何在文本输入框上按下回车键时触发一个函数(React)

19 浏览
0 Comments

如何在文本输入框上按下回车键时触发一个函数(React)

如何让onKeyPress事件在ReactJS中起作用?当按下enter (keyCode=13)时应该弹出警告。\n

var Test = React.createClass({
    add: function(event){
        if(event.keyCode == 13){
            alert('正在添加....');
        }
    },
    render: function(){
        return(
                    
        );
    }
});
React.render(, document.body);

0
0 Comments

问题的出现原因是在React中,通过在文本输入框中按下回车键触发函数时,使用了错误的事件处理方法。使用了onKeyDown事件,而应该使用onKeyUp事件。

解决方法是将onKeyDown改为onKeyUp,这样当用户按下回车键并释放时,函数将被触发。

下面是修改后的代码示例:

render: function(){
     return(
         <div>
           <input type="text" id="one" onKeyUp={this.add} />
        </div>
     );
}

这样,当用户在文本输入框中按下回车键并释放时,函数add将被触发。

0
0 Comments

在React中,如果我们想要通过在文本输入框上按下Enter键来触发一个函数,我们需要使用键盘事件来实现。然而,有些人在使用onKeyPress事件时遇到了问题,即e.keyCode始终为0,而e.charCode具有正确的值。如果使用onKeyDown事件,则e.charCode中的代码是正确的。

以下是一个示例代码,演示了如何通过按下Enter键来触发一个函数:

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(