• JS | 通过委派事件的多个Table之间的切换


    目录

    1、什么是event?

    2、e.target是什么?

    3、注册事件


    之前我们用【排他思想】做了一个Tab切换的小案例,那么如果我们的需要不只是只有一个table呢?我们应该怎么做?今天我们就来看一下。

    我们先把HTML结构给大家展现出来:

    1. <div class="tab">
    2. <div class="nav">
    3. <a href="javascript:;" class="hover">公司新闻a>
    4. <a href="javascript:;">公司动态a>
    5. <a href="javascript:;">行业新闻a>
    6. div>
    7. <div class="nav_con">
    8. <div>公司新闻-showdiv>
    9. <div>公司动态-showdiv>
    10. <div>行业新闻-showdiv>
    11. div>
    12. div>
    13. <br /><br />
    14. <div class="tab">
    15. <div class="nav">
    16. <a href="javascript:;" class="hover">大学a>
    17. <a href="javascript:;">中学a>
    18. <a href="javascript:;">小学a>
    19. div>
    20. <div class="nav_con">
    21. <div>大学内容div>
    22. <div>中学内容div>
    23. <div>小学内容div>
    24. div>
    25. div>
    26. <div class="tab">
    27. <div class="nav">
    28. <a href="javascript:;" class="hover">大学a>
    29. <a href="javascript:;">中学a>
    30. <a href="javascript:;">小学a>
    31. div>
    32. <div class="nav_con">
    33. <div>大学内容div>
    34. <div>中学内容div>
    35. <div>小学内容div>
    36. div>
    37. div>

     今天我们用到的方法是事件委派,那么就会涉及到【event.target】注册事件的新的方式,所以我们先来介绍一下【e.target】以及【注册事件】:

    1、什么是event?

    1. event就是一个事件对象,写到我们侦听函数的小括号里面,当形参来看
    2. 事件对象只有有了事件才会存在,它是系统给我们自动创建的,不需要我们传递参数。
    3. 事件对象是我们事件的一系列相关数据的集合,跟事件相关的,比如鼠标点击里面就包含了鼠标的相关信息等。
    4. 这个事件对象我们可以自己命名,比如:event、evt、e等
    5. 事件对象也有兼容性问题(ie678),通过window.event兼容性的写法【e=e || window.event】。

    2、e.target是什么?

    常见事件对象的属性和方法: 

     e.target返回的是触发事件的对象(元素),我们之前学的 this 返回的是绑定事件的对象(元素),如果在没有冒泡事件的情况下,两者的返回对象是一样的,那么它们的区别是啥呢?

    区别:e.target点击了那个元素,就返回那个元素,this哪个元素绑定了这个点击事件,那么就返回谁。

    3、注册事件

    给元素添加事件,称为注册事件或者绑定事件

    注册事件有两种方式:传统方式方法监听注册方式(今天要介绍的) 

     

    铺垫好了,我们来看一下JS:

     每一行代码有什么用,我都备注好了,应该还算详细。我们来看运行一下是什么样的:

     

    先获取所有table的长度,通过循环绑定事件,这样不管我们添加多少个table都不会有影响。今天的内容就这么多了,拜比~ 

  • 相关阅读:
    【EC200U】何为QuecPython以及QPYcom基础操作
    关于数据存储的三道面试题,你会吗?
    Angular知识点系列(5)-每天10个小知识
    65岁以上老人“日行万步”不可取?每天走多少步更利于健康?
    腾讯 32k16 薪和美团 35k15.5 薪,有点顾虑双offer到底该选哪个?
    HTML List label Ordered list Unodered list Definition list
    多路复用IO与NIO
    Kylin (二) --------- Kylin 环境搭建
    【Redis】深入理解 Redis 事务机制
    vscode_pytest_配置debug环境:增加和打印环境变量
  • 原文地址:https://blog.csdn.net/m0_72383454/article/details/126536290