我正在尝试调用事件,但是我的可视代码说“事件已弃用ts6385”

问题描述

我正在使用Visual Code研究Javascript,并且每次使用“事件”(该事件在代码中显示删除线,如e̶v̶e̶n̶t̶)的类似练习出现时,由于这个令人讨厌的问题,我无法完成它。在描述中,弹出一个警告,显示问题(“事件已弃用ts(6385)”)。我在论坛上查找并堆积如潮,但是找不到这个问题的任何答案,只有几个地方说lib dom和@deprecated,但是我不知道该怎么做。

请,任何帮助和学习解决此问题的方法将非常有用。

function sayMyFirstName(element){
    alert("My First name is..." + element.value)

}

function sayMyLastName(){
    console.log(event)

}

解决方法

听起来您正在为一个简单的JS项目获得TypeScript验证。您可以尝试几种方法:

  • 在您的设置文件(settings.json)中:

    "typescript.validate.enable": false

...或...

  • 在您的.js源文件中:

    /*tslint:disabled*/


一个单独的问题是为什么首先要获得“弃用”警告。这是原因:

https://developer.mozilla.org/en-US/docs/Web/API/Window/event

只读的Window属性事件返回的Event为 目前正在由网站的代码处理。在上下文之外 事件处理程序,该值始终是不确定的。

您应避免在新代码中使用此属性,而应改为 使用传递到事件处理程序函数中的事件。该属性是 不受普遍支持,即使受到支持也会带来潜在的影响 代码的脆弱性。

换句话说,“事件”实际上应该作为参数传递给JS event handler。您不应该使用全局对象。您不应该需要使用全局对象。

这里有一些不错的教程:

强烈建议:

如果您正在学习JavaScript,请确保您的学习材料是最新的(肯定涵盖了ES6!)。这是一本好书:Secrets of the JavaScript Ninja 2nd Edition

,

您只需要在 VSCode 中通过 >Preferences: Open Workspace Settings (JSON) 打开 Ctrl + Shift + P,然后将此行添加到 JSON 文件 "editor.showDeprecated": false 以禁用不推荐使用的显示,以防万一您只需要某些工作区。>

如果您想禁用所有工作区,请改用 >Preferences: Open Settings (JSON)

,

在我看来,TypeScript 验证器说事件的隐式传递已被弃用。一个简单的解决方法是将事件作为参数传递给函数

function sayMyLastName(event){
    console.log(event)
}

我正在将很多功能从 JS 迁移到 Angular,发现这个问题很多

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...