使用Typescript时,如何停止"类型JQuery上不存在属性"语法错误?

Ala*_*an2 66 jquery typescript

我只在我的应用程序中使用一行jQuery:

$("div.printArea").printArea();
Run Code Online (Sandbox Code Playgroud)

但这给了我一个Typescript错误:

JQuery类型中不存在属性'printArea'?

有人能告诉我如何阻止出现这个错误吗?

PSL*_*PSL 167

您可以将其<any>强制转换或扩展jquery类型以添加​​您自己的方法.

 (<any>$("div.printArea")).printArea();
Run Code Online (Sandbox Code Playgroud)

//或者添加自己的自定义方法(假设这是自己添加的,作为自定义插件的一部分)

interface JQuery {
    printArea():void;
}
Run Code Online (Sandbox Code Playgroud)


Eld*_*mir 30

我认为这是最具可读性的解决方案:

($("div.printArea") as any).printArea();
Run Code Online (Sandbox Code Playgroud)


小智 8

你可以把它投射到

(<any>$('.selector') ).function();
Run Code Online (Sandbox Code Playgroud)

例如:日期选择器使用jquery初始化

(<any>$('.datepicker') ).datepicker();
Run Code Online (Sandbox Code Playgroud)