js 關于(yú)獲取标簽綁定點擊事件問題 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 技術分享 >

js 關于(yú)獲取标簽綁定點擊事件問題

發表時(shí)間:2020-10-19

發布人(rén):融晨科技

浏覽次數:125

在(zài)原生js裏,要(yào / yāo)綁定點擊事件,首先要(yào / yāo)獲取它的(de)标簽,獲取标簽的(de)方法有很多,但不(bù)是(shì)每一種都可以(yǐ)綁定點擊事件

1.先來(lái)寫一個(gè)div标簽

<body>
<div class="classA" id="idA">事件執行步驟</div>
</body>

2.這(zhè)裏獲取這(zhè)個(gè)div标簽的(de)方法有:

通過id獲取:document.getElementById('idA')

通過class獲取:document.getElementsByClassName('classA')

通過指定器直接獲取div标簽:直接獲取标簽的(de)方法也(yě)有兩種

一個(gè)是(shì)直接獲取所有的(de)div标簽

document.querySelectorAll('div')

一個(gè)是(shì)獲取body裏面的(de)第一個(gè)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事件被執行')
    }

最後一個(gè)個(gè)的(de)執行字寫代碼發現

隻有第二個(gè)和(hé / huò)第四個(gè)的(de)點擊事件被執行了(le/liǎo)

原來(lái):第一個(gè)獲取的(de)是(shì)所有的(de)div标簽,并不(bù)是(shì)唯一的(de),即使這(zhè)裏隻有一個(gè)div,直接綁定點擊事件還是(shì)不(bù)行的(de),雖然他(tā)不(bù)會報錯。

第二個(gè)獲取的(de)是(shì)整個(gè)body中所有div的(de)第一個(gè)div,是(shì)唯一的(de)标簽,可以(yǐ)直接綁定點擊事件。

第三個(gè)獲取的(de)是(shì)整個(gè)body裏面class爲(wéi / wèi)(classA)的(de)标簽,不(bù)是(shì)唯一的(de),所以(yǐ)也(yě)不(bù)能直接綁定點擊事件

第四個(gè)是(shì)通過id獲取标簽,id的(de)值在(zài)每一個(gè)body裏面都不(bù)能重複的(de),所以(yǐ)可以(yǐ)直接綁定點擊事件

在(zài)最後總結,可以(yǐ)用指定器(querySelector),和(hé / huò)id獲取标簽綁定點擊事件,但指定器是(shì)第一個(gè)的(de),無法更加準确的(de)綁定點擊事件,所以(yǐ)通過id獲取标簽綁定的(de)點擊事件是(shì)最準确的(de)。

document.getElementById('idA')

document.querySelector('#idA')

相關案例查看更多