小编Adi*_*ngh的帖子

为什么 currentTarget 值为 null

我正在学习event.targetevent.currentTarget。我想我很清楚两者之间的区别。event.currentTarget但陷入了价值为零的境地。

以下是 HTML 和 JS 代码片段:

HTML代码

<form id="form">
   This is a form
</form>
Run Code Online (Sandbox Code Playgroud)

JavaScript 代码

 form.addEventListener('click', func);

 function func(event) {
    console.log(event.target.tagName);  //line1
    console.log(event.currentTarget.tagName); //line2

    setTimeout(()=> {
       console.log(event.target.tagName);  //line3
       console.log(event.currentTarget.tagName); //line4
    }, 0)  ;
 }
Run Code Online (Sandbox Code Playgroud)

我的疑问是,在第 1 行和第 3 行中我得到了event.target相同的值。event.currentTarget但是line2和line4的值是有区别的。

第 3 行的输出是“form”,但第 4 行的输出是:

未捕获的类型错误:无法读取 null 的属性“tagName”

这意味着currentTargetline4 中为 null

你能解释一下为什么 的值currentTargetnull第 4 行吗?

javascript dom dom-events

20
推荐指数
1
解决办法
2万
查看次数

import.meta.env 在除 vite.config.ts 文件之外的任何地方都有效

我使用vite创建了 React 项目。

In viteimport.meta.env.VITE_SOME_RANDOM_ENV_VARIABLE用于访问项目中任何位置的环境变量。

例如下面第 12 行的代码。

在此输入图像描述

但我的问题是,当我尝试访问vite.config.ts文件中的环境变量时,出现以下错误。

Property 'env' does not exist on type 'ImportMeta'
Run Code Online (Sandbox Code Playgroud)

我还添加了下图来显示错误。

在此输入图像描述

您能解释一下为什么vite.config.ts文件中的行为不同吗?我还在下面添加了 importMeta.d.ts 文件的代码供您参考。

在此输入图像描述

我在这里得到了解决方案,但是您仍然可以解释为什么文件中的行为不同吗vite.config.ts

reactjs vue.js vite

6
推荐指数
2
解决办法
5802
查看次数

标签 统计

dom ×1

dom-events ×1

javascript ×1

reactjs ×1

vite ×1

vue.js ×1