Javascript 多重事件';要在输入元素(Reactjs)中侦听的

Javascript 多重事件';要在输入元素(Reactjs)中侦听的,javascript,jquery,html,ajax,reactjs,Javascript,Jquery,Html,Ajax,Reactjs,您好,我有一个类似以下内容的输入元素: <input type="text" className="form-control" placeholder="Search for..." value={this.state.text} onChange={this.handleTextChange} /> <input type="text" className="form-control" placeholder="Search

您好,我有一个类似以下内容的输入元素:

<input 
  type="text" 
  className="form-control" 
  placeholder="Search for..." 
  value={this.state.text} 
  onChange={this.handleTextChange} />
<input 
  type="text" 
  className="form-control" 
  placeholder="Search for..." 
  value=this.state.text} 
  onChange={this.handleTextChange} 
  onKeyDown={this.handleEnter} />

但是它抓住了任何想法的作用,这是为什么?

删除
e.preventDefault

handleEnter: function (e) {
  if (e.keyCode == 13) {
    var text = this.state.text.trim();
    if(!text){
      return;
    }

    this.props.onTextChange({ text: text });
  }
},

handleTextChange: function (e) {
  this.setState({ text : e.target.value });
},

删除
e.preventDefault

handleEnter: function (e) {
  if (e.keyCode == 13) {
    var text = this.state.text.trim();
    if(!text){
      return;
    }

    this.props.onTextChange({ text: text });
  }
},

handleTextChange: function (e) {
  this.setState({ text : e.target.value });
},

为什么e.preventDefault()使其停止工作?@Varenya
e.preventDefault()
删除默认浏览器行为,因此在本例中,对于
onKeyDown
输入新文本。这就是为什么当您将
preventDefault
添加到
onKeyDown
时,您不能输入任何文本来输入。为什么e.preventDefault()使其停止工作?@Varenya
e.preventDefault()
删除默认浏览器行为,因此在本例中,对于
onKeyDown
来说,输入新文本是必要的。这就是为什么在将
preventDefault
添加到
onKeyDown
时不能输入任何文本的原因