скажем, у меня есть функция, которая запускается при нажатии клавиши, которая выглядит примерно так. Я хочу иметь специальный случай, когда нажимается 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()}/>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если я правильно понимаю вашу ситуацию, то по умолчанию должно происходить даже распространение (в зависимости от типа элемента, вызвавшего событие).
Однако вы, вероятно, захотите использовать stopPropagation() в случае нажатия клавиши ввода, чтобы предотвратить распространение этого события, что будет достигнуто с помощью следующего обновления вашего метода onAutosuggestInputKeyDown:
onAutosuggestInputKeyDown = event => {
if (event.key === 'Enter') {
// Prevent this event from propagating if enter key pressed
event.stopPropagation()
this.onCustomSuggestionCreate(event)
}
// If stopPropagation() not called on event, the event will propagate
// if it has the ability to do so (ie from the element dispatching the
// event)
}
но это не пропагандирует это, я хочу принудительно проповедовать это
откуда у вас мероприятие? текст <input />? куда вы хотите, чтобы он распространялся?
Возврат событий - поведение по умолчанию. Вы можете остановить пузырение, выполнив
stopPropagation. Я не могу понять, что вы ждете от блокаelse. Можете ли вы предоставить воспроизводимый рабочий пример проблемы, которую вы пытаетесь решить?