我有一个名为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