首页 > 解决方案 > 为什么在访问 EventType 对象上的 parentElement 时会出错?

问题描述

下面的代码设置元素获得焦点时的背景:

document.addEventListener(
        'focusin',
        (event) => {
          if (event.target !== null && event.target.parentElement.classList.contains('note')) {
            event.target.parentElement.style.backgroundColor = "#E6FBFF"
          }
        })

它适用于我的浏览器(Chrome)。

IDE 和构建过程引发错误:

ERROR in src/components/Note.vue:146:98
TS2339: Property 'parentElement' does not exist on type 'EventTarget'.
    144 |           }
    145 |         })
  > 146 |       document.addEventListener('focusout', (event) => {if (event.target !== null) {event.target.parentElement.style.backgroundColor = "white"}})
        |                                                                                                  ^^^^^^^^^^^^^
    147 |     })
    148 |
    149 |     const setFocus = (event) => {

我不明白这个错误(当然除了它的性质),我的印象是event.target会给我一个处理程序来处理事件(EventTarget 类型)发生的元素。

我应该如何解决这个错误?

标签: javascripttypescriptdom-events

解决方案


推荐阅读