zoukankan      html  css  js  c++  java
  • js 利用事件委托解决mousedown中的click

    有一个需求是这样的:

    父元素div绑定一个mousedown事件,子元素a绑定一个click事件。

    看解构:

    <div id="nav">
            <a href="javascript:void(0);">点我</a>
        </div>
    

    搜了很多相关的都没有解决办法,于是我想到了事件委托,在父元素被mousedown的时候,event对象里包含了很多有用的东西。其中target就是关键!

    代码:

    //原生js走起
    const nav = document.querySelector('#nav');
        const a = nav.querySelector('a');
        a.addEventListener("click",function(e){
            alert("a被点了");
            //e.stopPropagation();
        });
        nav.addEventListener("mousedown",function(e){
            (e.target.tagName).toLowerCase() === 'a' ? a.click :alert('你点击的是父元素');        
        });
    

      

    这样,只要判断到我们点击到区域有a标签,说明我点击到了它,然后模拟触发一次click,就完成了我的需求了。

  • 相关阅读:
    Go map 切片
    Go map 增删改查和遍历
    Go map 基本使用
    Go 二维数组
    Go 切片
    Go 数组
    Go 错误处理 defer recover panic
    Go time模块
    5分钟入门MP4文件格式
    写盘工具
  • 原文地址:https://www.cnblogs.com/webSong/p/9234205.html
Copyright © 2011-2022 走看看