Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

I'm studying Javascript using Visual Code and every time a similar exercise that uses 'event' (the event shows in the code with the strikethrough like e̶v̶e̶n̶t̶) appears I can't complete it because of this annoying issue. In the description pop up a warning showing the issue ("event is deprecated ts(6385)"). I look out in the forums and stack over flow but I can not find any answer for this problem, only a few places says the lib dom and @deprecated, but I don't what to do.

Please, any way to help and learn to pass this problem out will be very useful.

function sayMyFirstName(element){
    alert("My First name is..." + element.value)
function sayMyLastName(){
    console.log(event)
                Q: Out of curiosity: are you getting event is deprecated ts(6385) at the line you showed, "console.log(event)"?  Is there other, relevant code you're NOT showing us? Where is "event" declared?  Is the file suffix "js"?  Or ".ts"?  In any case - read my suggestions below.
– paulsm4
                Oct 29, 2020 at 4:52
                @paulsm4 Is js. In my source code material where i am studying they say that "event is global and you can call him from whatever the reason." The code I showed above it's just an example. I'm think the problem is with gitignore, and I paste the /*tslint:disabled*/ in my files. The problem comes and goes, the tricks you said worked in one problem but not in other, I need to sleep and I'll say to you tomorrow.
– AllesonCoelho
                Oct 29, 2020 at 5:20
                If you need more info, look here: github.com/microsoft/TypeScript/issues/32533 and here: developer.mozilla.org/en-US/docs/Web/API/Window/event.  See my additional comments below.
– paulsm4
                Oct 29, 2020 at 5:54
                Q: Is your question resolved?  Did the additional info help?  If your source materials tell you to use the global event object - it's probably time to look for updated source materials ;)
– paulsm4
                Oct 30, 2020 at 1:42

It sounds like you're getting TypeScript validation for a simple JS project. There are several things you can try:

  • In your settings file (settings.json):

    "typescript.validate.enable": false

    ... OR ...

  • In your .js source file(s):

    /*tslint:disabled*/

    A separate issue is why you're getting the "deprecation" warning in the first place. This is the reason:

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

    The read-only Window property event returns the Event which is currently being handled by the site's code. Outside the context of an event handler, the value is always undefined.

    You should avoid using this property in new code, and should instead use the Event passed into the event handler function. This property is not universally supported and even when supported introduces potential fragility to your code.

    In other words, "event" should really be passed as an argument to a JS event handler. You shouldn't be using the global object; you shouldn't NEED to use the global object.

    Here are a few good tutorials:

  • Introduction to events (MDN.com)
  • JavaScript Events
  • Strong suggestion:

    If you're learning JavaScript, please make sure your study materials are up-to-date (definitely covering ES6!). This is a good book: Secrets of the JavaScript Ninja 2nd Edition

    The first trick worked! Thank you. This really help me. I tried to upvote you, but i cant do this right now. – AllesonCoelho Oct 29, 2020 at 4:57 Interestingly, it isn't working for me. Most of my projects are TS so I only turned validation off for the "workspace" of this one particular PHP/JS/jQuery project I work on. I'm going to play with adding the folder to a workspace and see if that makes a difference. And search for more answers. Might be back with a new question though. – tim.rohrer Nov 2, 2020 at 0:32 Now it worked. For those working with different types of projects, you may need to change your settings for just the Workspace, and then add your non-TS project to that Workspace. – tim.rohrer Nov 2, 2020 at 0:40 @tim.rohrer: in general, "Warnings are Good". Don't forget: the whole reason for inventing TS in the first place is to ensure better "Type safety". So the first priority should always be to heed warnings - and correct the underlying problem - whenever possible. "Gagging warnings" should be considered a "last resort". In this case, it sounds like the OP was using some outdated tutorial that used the global "window.event" object; a practice which is now strongly discouraged. I hope the OP heeds the warning ... and finds some new tutorials :) – paulsm4 Nov 2, 2020 at 2:47 Maybe the real topic to be discussed at this stage is why would VS Code's TS validator algorithm trigger in a javascript file (.js) without any Typescript in the project and without Typescript installed? – tim.rohrer Nov 2, 2020 at 15:08

    It looks to me that the TypeScript Validator is saying the implicit passing of event is deprecated. A simple fix would be to pass the event into the function as a parameter

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

    I'm migrating a lot of functionality from JS to Angular and found this issue a lot

    The above perfectly replaces d3.pointer(event, this) with d3.pointer(window.event, this) in d3.js – smpa01 May 20, 2022 at 16:02

    You just need to open >Preferences: Open Workspace Settings (JSON) by Ctrl + Shift + P in VSCode then add this line to JSON file "editor.showDeprecated": false to disable a show deprecated in case if you only need to some workspace.

    If you want to disable all workspace then use >Preferences: Open Settings (JSON) instead.

    Thanks for contributing an answer to Stack Overflow!

    • Please be sure to answer the question. Provide details and share your research!

    But avoid

    • Asking for help, clarification, or responding to other answers.
    • Making statements based on opinion; back them up with references or personal experience.

    To learn more, see our tips on writing great answers.