在其他情况下传播事件传播

时间:2018-11-29 01:49:25

标签: javascript reactjs dom-events

假设我有一个在按键时执行的功能,看起来像这样。我希望在按下Enter键时有特殊情况,否则我甚至想向浏览器传播/冒泡。因此,如果按了其他任何键,即向上或向下箭头,它们应该起作用。

 onAutosuggestInputKeyDown = event => {
  if (event.key === 'Enter') {
     this.onCustomSuggestionCreate(event)
  } else {
      // keep propgating the event 
  }
}


getAutosuggestInputProps = () => {
    return {
      inputProps: {
        onBlur: this.onCustomSuggestionCreate,
        onKeyDown: this.onAutosuggestInputKeyDown,
      },
    }
  }


<ReactAutoSuggest textFieldProps={this.getAutosuggestInputProps()}/>

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的情况,那么默认情况下甚至应该传播(取决于触发事件的元素的类型)。

但是,在按下回车键以防止该事件传播的情况下,您可能希望使用stopPropagation(),这可以通过对O(n)方法进行以下更新来实现:

onAutosuggestInputKeyDown