Tech Neo 创造一个纯粹高质的技术交流平台

同级元素,p遮挡div,两个都绑定了click事件,如何使click只触发div不触发p

图片说明
这个感觉和冒泡没啥关系

 p.onclick=function (e) {
        console.log('p is clicked')
    }
    div.onclick=function (e) {
        console.log('div is clicked')
    }
    document.body.onclick=function (e) {
        console.log(e.target.nodeName)
        if(e.target.nodeName==='DIV'){
            console.log('this is message bubbling form div')
        }
    }

用body接受冒泡都没有,e.target.nodeName始终是p不是div

请先 登录 后评论

最佳答案 2018-06-12 14:36

不可能的,只能是触发当前点击到的元素。。。你要触发底部的,自己依据点击的坐标判断那个元素是否在范围内,在就触发对应的事件

DEMO:javascript获取遮盖层被点击时下面的DOM对象

请先 登录 后评论

其它 3 个回答

CSDN用户

搞两个不同的点击事件名

请先 登录 后评论
CSDN用户

看你事件绑定是在哪里的,body上的话判定一下target

请先 登录 后评论
CSDN用户

在标签P的Click里面封装标签Div的事件

请先 登录 后评论