如何解决如何在不访问儿童点击处理程序和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 举报,一经查实,本站将立刻删除。