BaseJQueryEventObject、JQueryEventObject 等已弃用。我们用啥来代替它?

Posted

技术标签:

【中文标题】BaseJQueryEventObject、JQueryEventObject 等已弃用。我们用啥来代替它?【英文标题】:BaseJQueryEventObject, JQueryEventObject, etc are deprecated. What do we replace it with?BaseJQueryEventObject、JQueryEventObject 等已弃用。我们用什么来代替它? 【发布时间】:2017-12-28 16:38:31 【问题描述】:

当您从 jQuery v2 迁移到 jQuery v3 时,类型定义上的 BaseJQueryEventObject 等接口已被弃用。

代码上的替换是什么?

例如,使用 angularjs,我们有这样的函数:

public keyDown($event: JQueryEventObject) 
    alert ($event.keyCode);

我们收到这样的消息:

ERROR: 18:28  deprecation  JQueryEventObject is deprecated.

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

【问题讨论】:

【参考方案1】:

我有同样的问题,但我解决了它

public keyDown($event: KeyboardEvent) 
    alert ($event.keyCode);

【讨论】:

【参考方案2】:

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

public keyDown($event: JQuery.Event) 
    alert ($event.keyCode);

【讨论】:

这是从 JQuery 2.4 更新到 3.2 时救了我的答案 这样做我得到 TS2702 JQuery 只指一种类型,但在这里被用作命名空间

以上是关于BaseJQueryEventObject、JQueryEventObject 等已弃用。我们用啥来代替它?的主要内容,如果未能解决你的问题,请参考以下文章

前端教程

待研究

一起来学jquery!

网页变肤色

Jquery

检查是否加载了jQuery库