gpt4 book ai didi

javascript - TypeScript 中的 JQuery 和 JQueryStatic 接口(interface)有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-30 20:55:43 24 4
gpt4 key购买 nike

谁能解释一下?我知道 jQuery 接口(interface)是预定义的,但 JQueryStatic 是什么?

我有以下内容:

(function($)
{

$.fn.disableBt = function()
{
$(this).attr('disabled', true);
if ($.browser.msie && $.browser.version < 9)
{
$(this).addClass('disabled');
}
}

})(jQuery);

我能让 typescript 知道这一点的唯一方法是像这样将它添加到 jQuery 界面:

    disableBt();
}

我尝试将它添加到 jQueryStatic,但似乎没有用:

interface JQueryStatic {
modal( options );
disableBt();
}

这是在我的模式中定义选项的方式:

$.modal.defaults = {
content: false,
useIframe: false,
...
...
var settings = $.extend({}, $.modal.defaults, options),

最佳答案

是否定义了“选项”(在模态(选项)中)?

JQueryStatic 接口(interface)有静态方法(“$ 和 jQuery 本身的方法”)

JQuery 接口(interface)具有可以在 jQuery 元素上运行的成员,其中许多成员返回 JQuery 本身以实现可链接性。

interface JQueryStatic {
someAdditionalMethod(): any;
}
$.someAdditionalMethod();

interface JQuery {
pluginMethod(): JQuery;
}
$("body").pluginMethod();

如果你的情况是这样的:

interface ModalDefaultOptions {
content?: bool;
useIframe?: bool;
}

interface JQueryStatic {
modal: {
defaults: ModalDefaultOptions;
};
}

interface JQuery {
disableBt(): void; // or :JQuery if you returned 'this' from the function
}

$("#someButton").disableBt();
$.modal.defaults.content = false;

关于javascript - TypeScript 中的 JQuery 和 JQueryStatic 接口(interface)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13115516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com