Событие включения onKeyUp, зарегистрированное с родителем, когда запускается onClick ребенка

У меня есть функция с именем onKeyUp определенная следующим образом, которая прослушивает escape и ввод ключа

const onKeyUp = (targetKey: string, event: React.KeyboardEvent<HTMLDivElement>) => {
    const key = event.keyCode;
    const editString = event.currentTarget.textContent;
    switch (key) {
        case 27: // escape key
        case 13: // enter key
            if (editString.trim().length === 0) {
                MOpenSnackBar({
                    message: {
                        key: new Date().getTime(),
                        message: "Target segment cannot be empty"
                    },
                    open: true
                });
            } else {
                if (editString.trim() !== currentVal.trim()) {
                    props.onChangeCallback(targetKey, editString);
                }
                removeEditMode(targetKey);
            }
            break;
    }
};


const done = (targetKey: string, event: React.MouseEvent<HTMLSpanElement, MouseEvent>) {
   // call onKeyUp here
}

Он определяется на div, который выглядит следующим образом:

<div onKeyUp={onKeyUp.bind(null, props.targetStringId)}>

       .. some tags here
       <Tag onClick={done.bind(null, props.targetStringId)}>Done</Tag>
       .. some more tags here
</div>

Я хочу запустить то же событие onKeyUp когда кто-то щелкает по Tag который запускается onKeyUp для div .

Как я мог это сделать?

Всего 1 ответ


попробуйте добавить event.stopPropagation() в onKeyUp() : D


Есть идеи?

10000