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 等已弃用。我们用啥来代替它?的主要内容,如果未能解决你的问题,请参考以下文章