电竞比分网-中国电竞赛事及体育赛事平台

分享

event.target

 一本正經(jīng)地胡鬧 2019-05-23

        最近在做特效的過程中遇到了獲取目標(biāo)事件源的情況,一般情況下我們獲取目標(biāo)事件源都是誰是調(diào)用者誰就是事件源,但是當(dāng)有批量的DOM需要操作的時候,要判斷哪一個dom是事件源就不是很明確了,使用e.target可以準(zhǔn)確地獲取事件源,并且在使用的過程中可以比較判斷,從而實現(xiàn)我們的代碼。

舉個例子:當(dāng)做一個拖拽的案例的時候,有多個事件源,但是想要知道鼠標(biāo)點(diǎn)擊的是不是我們想要的事件源的時候(例如:其他區(qū)域和事件源進(jìn)行判斷),我們就可以使用e.target,比較獲取的事件源的Id,classname,nodename...

event.target經(jīng)常使用的屬性有以下幾個:

    event.target.nodeName     //獲取事件觸發(fā)元素標(biāo)簽name

    event.target.id       //獲取事件觸發(fā)元素id

    event.target.className    //獲取事件觸發(fā)元素classname

    event.target.innerHTML    //獲取事件觸發(fā)元素的內(nèi)容

    在了解e.target的同時,還有一個e.currentTarget,這兩個屬性讓人傻傻的認(rèn)不清楚,我按照我的理解記錄一下:

    一般情況下:

    e.currentTarget : 指的是綁定了事件監(jiān)聽的元素(可以理解為觸發(fā)事件元素的父級元素)

    e.target: 指的是真正觸發(fā)事件的那個元素

    事件冒泡是:如果綁定的事件對象子對象(比如點(diǎn)擊頁面上的button)時,e.currentTarget == e.target: 指的是真正觸發(fā)事件的那個元素

                         如果綁定的事件對象是document時,e.currentTarget是document,而e.target 是btn

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多