如何在一个li标签里识别我点击的是哪个元素?

有这样一个需求
如下图————》
图片描述

这个是一个li标签 <li><a>飞机</a><a>飞机票</a></li> 大概就是这样,一个左浮动一个右浮动

然后在web端点击的时候,除了点击飞机票意外,其他的任何地方的点击都是和点击飞机是一个效果,我如何区分他是点击飞机票还是点击其他地方

阅读 5.2k
7 个回答

写两个事件 li一个事件 飞机票的a一个事件
大概这样,我就不写选择器了

li.addEventListener("click",function(e){
    alert(1)
},false)
a.addEventListener("click",function(e){
    e.stopPropagation();
    alert(2)
},false)

点击飞机票时
onclick='Airplane(event)'

function(ev){

ev.stopPropagation()

}

飞机票 a 标签 事件阻止冒泡 li 标签绑定事件

点击事件回调函数里面e参数的e.target可以区分

<!DOCTYPE html>
<html>
<head>

<link rel="shortcut icon" href="favicon.png" type="image/png">
<link rel="icon" href="favicon.png" type="image/png">
<meta charset="utf-8">
<meta name="author"content="令狐冲">
<title></title>
<style>
   
</style>

</head>
<body>

   <li id="ele">
     <span>123</span>
     <div>飞机票</div>
   </li>

</body>
<script>

var li  = document.getElementById('ele')
li.onclick =function(){
  console.log(window.event.target.tagName,'获取点击元素')
  var ele = window.event.target.tagName 
  if( ele == 'span'){
      // todo something
  }else if(ele == 'div'){
      //todo  something
  }else{
      // ...
  }
}

</script>
</html>

希望对有帮助

为啥自己跟自己过不去 ,自己添加个ID就好了

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