js 关于获取标签绑定点击事件问题 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

js 关于获取标签绑定点击事件问题

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:85

在原生js里,要绑定点击事件,首先要获取它的标签,获取标签的方法有很多,但不是每一种都可以绑定点击事件

1.先来写一个div标签

<body>
<div class="classA" id="idA">事件执行步骤</div>
</body>

2.这里获取这个div标签的方法有:

通过id获取:document.getElementById('idA')

通过class获取:document.getElementsByClassName('classA')

通过指定器直接获取div标签:直接获取标签的方法也有两种

一个是直接获取所有的div标签

document.querySelectorAll('div')

一个是获取body里面的第一个div标签

document.querySelector('div')

document.querySelector('div')

    const handelQSA = document.querySelectorAll('div')

    const handelQS = document.querySelector('div')

    const handelClass = document.getElementsByClassName('calssA')

    const handelId = document.getElementById('idA')

3.通过js代码绑定点击事件

    handelQS.onclick = function () {
        console.log('handelQSA事件被执行')
    }

    handelQS.onclick = function () {
        console.log('handelQS事件被执行')
    }

    handelClass.onclick = function () {
        console.log('handelClass事件被执行')
    }

    handelId.onclick = function () {
        console.log('handelId事件被执行')
    }

最后一个个的执行字写代码发现

只有第二个和第四个的点击事件被执行了

原来:第一个获取的是所有的div标签,并不是唯一的,即使这里只有一个div,直接绑定点击事件还是不行的,虽然他不会报错。

第二个获取的是整个body中所有div的第一个div,是唯一的标签,可以直接绑定点击事件。

第三个获取的是整个body里面class为(classA)的标签,不是唯一的,所以也不能直接绑定点击事件

第四个是通过id获取标签,id的值在每一个body里面都不能重复的,所以可以直接绑定点击事件

在最后总结,可以用指定器(querySelector),和id获取标签绑定点击事件,但指定器是第一个的,无法更加准确的绑定点击事件,所以通过id获取标签绑定的点击事件是最准确的。

document.getElementById('idA')

document.querySelector('#idA')

相关案例查看更多