怎么阻止当父级元素添加事件子级元素也添加

我要只想给一个元素添加事件,但是不想影响子级元素

阅读 6.2k
5 个回答

那么就精确地控制元素选择符,对其加事件。比如用jquery

javascript$('#element-id').on('click', function() {
   //...
}

或者原生JavaScript

javascriptvar el = document.getElementById('element-d');
el.onclick = function() {
    //...
}

当然了,ID并不是唯一的选择符,你可以用任何选择符,只要保证选择到的元素是你想要的那个元素即可。

我大胆的猜想下,
你是不是往父元素上绑定,点击子元素发现也有这个事件?
这个是因为事件的冒泡原因~
嗯要是不是我这种猜想,忽略我哈~~

防止子元素事件冒泡到父元素就行,也就是说在子元素里添加事件,并且用stopPropagation

一个事件的传递过程包含三个阶段,分别称为:

捕获阶段,目标阶段,冒泡阶段
addEventListener 第三个参数,true表示在元素事件的捕获阶段响应事件,false表示在事件的冒泡阶段响应事件,而且event.stopPropagation可以阻止事件冒泡哦!!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题