1. ホーム
  2. jquery

[解決済み] jQuery.extendとjQuery.fn.extendの違いとは?

2023-06-01 17:34:38

質問

私は2つのプラグインを1つに統合したいので、私はjqueryプラグインの構文を理解しようとしています。 1つに統合したいからです。また、de間隔を停止したり、何回も実行したりすることができる必要があるウィンカー。

とにかく。 はこの構文と同じで

jQuery.fn.extend({
    everyTime: function(interval, label, fn, times) {
        return this.each(function() {
            jQuery.timer.add(this, interval, label, fn, times);
        });
    },
    oneTime: function(interval, label, fn) {
        return this.each(function() {
            jQuery.timer.add(this, interval, label, fn, 1);
        });
    },

これ

$.fn.blink = function(options)
    {

は、最初の(=なし)は複数のメソッドを一度に設定する方法のように見えるからです。 これは正しいのでしょうか? また、私がここにいる間 jqueryオブジェクトに要素やいくつかのロジックを追加する理由は何でしょうか?

jQuery.extend({
    timer: {
        global: [],
        guid: 1,
        dataKey: "jQuery.timer",

(これはタイマープラグインのものです)

どのように解決するのですか?

jQuery.extendは任意のオブジェクトに関数を追加して拡張するために使われますが、jQuery.fn.extendはjQuery.fnオブジェクトを拡張するために使われ、実際には複数のプラグイン機能を一度に追加します(各機能を個別に割り当てるのではありません)。

jQuery.extendは :

var obj = { x: function() {} }

jQuery.extend(obj, { y: function() {} });

// now obj is an object with functions x and y

jQuery.fn.extend :

jQuery.fn.extend( {
        x: function() {},
        y: function() {}
});

// creates 2 plugin functions (x and y)