如何在不访问儿童点击处理程序和stopPropagation调用的情况下停止冒泡? 可点击包装中的可点击组件

问题描述

我需要帮助,建议,道义上的支持..:)

我作为受训者参加了UI库的开发工作,现在有一个任务来创建卡片之类的组件-它是一个简单的包装程序,具有用于其他任何组件的某些样式。
这是什么问题?经典-js起泡。
该包装器应该是可点击的,但是某些子控件也可能是可点击的(使用不同的点击处理程序)。

<div onClick={doSomething}>
  {props.children}   // it could be anything,absolutely,both clickable and non-clickable
</div>

我在e.preventDefault()的条件下尝试了卡上的点击处理程序中的e.target !== e.currentTarget,但是这种方式使卡的主要部分无法通过文本,图像等内容被点击。

我了解e.stopPropagation(),并且效果很好,但是我无法直接与孩子接触。 我的意思是我不知道它们的结构(嵌套),标签的种类和行为。另外,有可能根本没有可点击的孩子。
因此,我无法在我这一边添加此通话(我认为是。也许我错了)-在这种情况下,我还能做些什么来阻止冒充儿童点击? 还有其他方法吗?

example of such cards on pinterest

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...