# 【Day27】事件處理event e.target 與 nodeName ###### tags: `JavaScript` `14th鐵人賽` 上一篇有說明可以透過事件了解當下的元素內容,而本篇要介紹的target與nodeName就是兩個常用的物件事件可搭配使用 本篇介紹內容: - node.Name取得屬性 - e.target了解目前所在元素位置 --- ## node.Name取得屬性 瞭解目前 DOM 的 HTML 位置,依據節點類型返回名稱 ```html <input class="btn" type="button" value="點擊"> ``` ```jsx const btn = document.querySelector(".btn"); console.log(btn.nodeName); ``` ![https://ithelp.ithome.com.tw/upload/images/20221002/20151124YEuaDfAOJP.png](https://ithelp.ithome.com.tw/upload/images/20221002/20151124YEuaDfAOJP.png) ## e.target了解目前所在元素位置 使用e.target可知道我目前點擊的位置是什麼東西,常用於:點擊大範圍時,僅觸發部分內容 ```jsx const btn = document.querySelector(".btn"); btn.addEventListener('click',function(e){ console.log(e.target); }) const list = document.querySelector(".list"); list.addEventListener('click',function(e){ console.log(e.target); }) ``` ![https://ithelp.ithome.com.tw/upload/images/20221002/20151124HrgcuBLSs2.png](https://ithelp.ithome.com.tw/upload/images/20221002/20151124HrgcuBLSs2.png) ## ****e.target 搭配 nodeName 節點**** 只要最外圍綁監聽其餘部分搭配屬性節點使用 ```jsx const list = document.querySelector(".list"); list.addEventListener('click',function(e){ console.log(e.target.nodeName); if(e.target.nodeName == "INPUT" ){ console.log('已點擊'); } }) ``` ![https://ithelp.ithome.com.tw/upload/images/20221002/20151124V5ZXrVjFqH.png](https://ithelp.ithome.com.tw/upload/images/20221002/20151124V5ZXrVjFqH.png) 只要在`list`中點擊都會觸發`e.target.nodeName`的事件,此外若`e.target.nodeName`抓取節點為`INPUT`時就會打印出’`已點擊'`