触发 onKeyUp 事件时向父级注册,当触发孩子的 onClick 时



我有一个名为onKeyUp的函数,定义如下,它侦听转义并输入密钥

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>

当有人单击Tag时,我想激发与为div激发onKeyUp相同的事件onKeyUp

我怎么能这么做?

尝试将event.stopPropagation()添加到onKeyUp()函数中:D

最新更新