请教一个前端问题

2015-10-14 04:11:04 +08:00
 MrGba2z
比如我有个
<div class="qclick">
123
456
<button>click</button>
</div>

然后在 js 里有
(".qclick").click(.....)

大概就是整个 div 都能点
但是我希望点 button 那个位置的时候不触发 div 的 click 事件
有没有比较简单优雅的办法能实现?

谢谢
2238 次点击
所在节点    前端开发
8 条回复
cxbig
2015-10-14 04:12:51 +08:00
这个设计太奇怪了。。。
你可以把那个 btn 放在另外一个 div 里,然后移进去。
tokki
2015-10-14 04:34:33 +08:00
搜索冒泡事件
luoway
2015-10-14 07:34:38 +08:00
@cxbig 应用场景如查看帖子和屏蔽帖子,很常见的交互友好的设计
oott123
2015-10-14 07:45:25 +08:00
$(btn).click((e)=> e.stopPropagation())
sox
2015-10-14 07:51:07 +08:00
楼上正解
yangg
2015-10-14 08:55:55 +08:00
手机端可以使用 css pointer-events: none;
hronro
2015-10-14 17:56:23 +08:00
@tokki 这个应该是阻止事件传递给子元素,跟事件冒泡和事件捕获没有任何关系。
MrGba2z
2015-10-14 23:31:48 +08:00
@oott123
要的就是这个
谢谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/227834

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX