javascript - 在输入元素中监听多个事件(React Js)

标签 javascript jquery html ajax reactjs

你好,我有一个像这样的输入元素:

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

我旁边有一个按钮,基本上 onClick 会使用输入文本进行 ajax 调用来获取搜索结果。

我想做的不仅是点击事件,而且在按下 Enter 时 ajax 调用也应该进行,所以我尝试了这样的事情:

<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 });
},

Example

关于javascript - 在输入元素中监听多个事件(React Js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35238623/

相关文章:

javascript - 为 IE6 调试 javascript

javascript - 如何为 getter/setter 编写类型定义( typescript )

javascript - 允许通过父元素看到的子元素

jQuery:成功时更改链接文本

jquery - 如何使用 jquery 以编程方式检查互联网连接的可用性

html - 增加 Bootstrap 中 .navbar-brand 类的大小

javascript - 如何在没有 javascript 或 JQuery 的情况下将工具提示分配给 div?

javascript - jquery 自动完成 - 选定的值从文本框中消失

html - 嵌入 iframe HTML 中不可用的 YouTube 视频

html - 如何禁用 Zend 表单中的表单元素?