V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MrGba2z
V2EX  ›  前端开发

请教一个前端问题

  •  
  •   MrGba2z · 2015-10-14 04:11:04 +08:00 · 2230 次点击
    这是一个创建于 3348 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如我有个
    <div class="qclick">
    123
    456
    <button>click</button>
    </div>

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

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

    谢谢
    8 条回复    2015-10-14 23:31:48 +08:00
    cxbig
        1
    cxbig  
       2015-10-14 04:12:51 +08:00
    这个设计太奇怪了。。。
    你可以把那个 btn 放在另外一个 div 里,然后移进去。
    tokki
        2
    tokki  
       2015-10-14 04:34:33 +08:00 via Android
    搜索冒泡事件
    luoway
        3
    luoway  
       2015-10-14 07:34:38 +08:00 via Android
    @cxbig 应用场景如查看帖子和屏蔽帖子,很常见的交互友好的设计
    oott123
        4
    oott123  
       2015-10-14 07:45:25 +08:00 via Android   ❤️ 1
    $(btn).click((e)=> e.stopPropagation())
    sox
        5
    sox  
       2015-10-14 07:51:07 +08:00 via Android
    楼上正解
    yangg
        6
    yangg  
       2015-10-14 08:55:55 +08:00
    手机端可以使用 css pointer-events: none;
    hronro
        7
    hronro  
       2015-10-14 17:56:23 +08:00
    @tokki 这个应该是阻止事件传递给子元素,跟事件冒泡和事件捕获没有任何关系。
    MrGba2z
        8
    MrGba2z  
    OP
       2015-10-14 23:31:48 +08:00
    @oott123
    要的就是这个
    谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3588 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:57 · PVG 08:57 · LAX 16:57 · JFK 19:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.