我在ReactJs中覆盖了anchor()标签的onClick
函数,以显示加载状态。
const child: ReactElement = Children.only(children);
const childProps = {};
childProps['onClick'] = (event) => {
if (childProps.href && child.props.target !== '_blank') {
props.showSpinner(true);
}
let onClick = child.props.onClick;
onClick && onClick();
};
return React.cloneElement(child, childProps);
然而问题在于如果用户按下shift
和command
键并点击anchor(<a>)
,那么用户会切换到新的标签页但是加载过程中不会显示。
因此我添加了以下条件来显示加载状态。
if (!event.shiftKey && childProps.href && child.props.target !== '_blank') {
props.showSpinner(true);
}
这段代码处理了Shift键的按下,但我还需要处理command
键的按下。
我搜索了许多帖子,它们展示了alt,shift和ctl
键按下的解决方案,但没有针对command键按下的解决方案。
href
的<a>标签,并且只能覆盖onClick
。 在这种方法中,event.keyCode会返回未定义。 - Ravi Sevta