4

誰かがこれを説明できますか?jQuery インターフェイスは事前に定義されているものだと認識していますが、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),
4

1 に答える 1

8

「オプション」(モーダル (オプション) 内) は定義されていますか?

JQueryStatic インターフェースには静的メソッドがあります (「$ および jQuery 自体のメソッド」)

JQuery インターフェースには、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;
于 2012-10-29T06:10:03.383 に答える