首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用typescript扩展JQueryStatic

使用typescript扩展JQueryStatic
EN

Stack Overflow用户
提问于 2016-07-31 14:00:05
回答 1查看 1.9K关注 0票数 4

到目前为止,我已经向JQuery添加了如下扩展方法:

代码语言:javascript
复制
module JQueryExtensions {
    export function foo() {
        ...
    }
}
interface JQuery {
    foo(): JQuery;
}
(function ($) {
    $.fn.foo = function (): JQuery {
    ...
    return this;
    };
})(jQuery);

它可以很好地作为选择器实例的扩展方法,比如$(‘JQuery’).foo()。但是现在我需要添加一个静态函数来调用它,比如$.foo();

我尝试将"JQuery“替换为"JQueryStatic”,如下所示:

代码语言:javascript
复制
module JQueryExtensions {
    export function foo() {
        ...
    }
}
interface JQueryStatic{
    foo(): JQuery;
}
(function ($) {
    $.fn.foo = function (): JQuery {
    ...
    return this;
    };
})(JQueryStatic);

但是它给了我以下错误:“找不到名字‘JQueryStatic’。”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-01 13:09:50

只需传递jQuery (函数/类型定义)而不是JQueryStatic (接口),使用$.foo = (静态方法)而不是$.fn.foo = (实例方法)

代码语言:javascript
复制
(function ($:JQueryStatic) {
    $.foo = function (): JQuery {
        ...
    };
})(jQuery);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38681212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档