javascript - 即使 event.stopPropagation 写在 onClick 处理程序中,事件也会传播到父级
问题描述
在下面的代码中,当单击设置时,google.com
即使e.stopPropagation
在设置的onClick
处理程序中写入页面也会重定向到
<a className="App" href="http://google.com" onClick={() => alert("parent")}>
Home
<div
href={"http://youtube.com"}
onClick={e => {
alert("child");
e.stopPropagation();
}}
>
Settings
</div>
</a>
这是为什么?但是当我添加e.preventDefault()
它时,它不会重定向到google.com
?为什么e.stopPropagation
不工作并且e.preventDefault
正在工作。谁能解释一下。
沙盒链接 - https://codesandbox.io/s/l7wx5yzp6m
谢谢。
解决方案
推荐阅读
- node.js - 如何在实时 Web 服务器上部署/使用 lit-html、lit-element
- java - sts中的Stackoverflow异常
- unity3d - 如何使用 Windows 混合现实控制器 [MRTK2] 模拟 HoloLens 2 手部跟踪?
- scala - 按最大分数在数组中选择项目
- bash - 除非使用“sh scriptname”调用,否则旧版本的脚本会运行
- c# - 传入一定大小的数组以使用 xunit 进行测试
- python - 可变批量大小张量的显式广播
- javascript - 如何在单击时切换具有相同类名的多个元素的类
- c# - 如何自动失败未经验证的 Web 请求,而不是提示输入用户名/密码?
- python-3.x - 如何减少编号。python代码中的for循环