不推荐使用BaseJQueryEventObject,JQueryEventObject等.我们用什么取而代之?

pab*_*rsk 2 jquery angularjs typescript

从jQuery v2迁移到jQuery v3时,不推荐使用类型定义上的BaseJQueryEventObject等接口.

什么是代码的替代品?

例如,对于angularjs,我们有这样的函数:

public keyDown($event: JQueryEventObject) {
    alert ($event.keyCode);
}
Run Code Online (Sandbox Code Playgroud)

我们收到这样的消息:

ERROR: 18:28  deprecation  JQueryEventObject is deprecated.
Run Code Online (Sandbox Code Playgroud)

这是新的类型定义:https://github.com/DefinitelyTyped/DefinitelyTyped/blob/7a9ecd61d02e715adf369b191571007bd1a7c572/types/jquery/index.d.ts#L7546

小智 7

我不确定角度,但是,使用最新的Typescript和JQuery我将我的函数签名更改为:

public keyDown($event: JQuery.Event) {
    alert ($event.keyCode);
}
Run Code Online (Sandbox Code Playgroud)

  • 这样做我得到TS2702 JQuery只引用一个类型,但是在这里被用作命名空间 (2认同)