如何在不修改原始内容的情况下扩展外部框架的d.ts(jQuery)?

时间:2014-02-03 16:07:13

标签: typescript

我正在使用jQuery及其来自Definitely Typed collection的定义。我想用Farbtastitc color picker扩展它,将新方法直接广告到JQueryStatic,例如:

$.farbtastic(placeholder)

我不想修改原始的jquery.d.ts文件来添加此方法,而是希望使用添加的方法创建类似jquery-extend.d.ts的内容。

1 个答案:

答案 0 :(得分:17)

我发现没有什么可以阻止我向原始类添加新方法,所以在jquery-extend.d.ts中我只是声明:

interface JQueryStatic {
    farbtastic(element : string, callback? : Function) : Farbtastic;
}

interface JQuery {
    farbtastic(element : string, callback? : Function) : void;
}

interface Farbtastic {
    linkTo(callback : Function) : void;
    setColor(color : string) : void;
}

希望有一天能帮助别人。