【问题标题】:Jquery define a function and call it as being a method of a selected object? [duplicate]Jquery定义一个函数并将其称为选定对象的方法? [复制]
【发布时间】:2011-08-27 23:28:01
【问题描述】:

可能重复:
In jQuery, what does $.fn. mean?

有人可以再解释一下下面的代码吗?

我看到定义了一个名为 isdirty 的函数。 我没有得到的是:

  1. 什么是 $.fn ?
  2. 第二行调用选择器上的函数。 该函数现在似乎是我选择的对象的一种方法??? 我可以将这个函数附加到这样的所有对象上吗?

    (function($) {
        $.fn.isdirty = function(settings) {
            alert(test);
    }};
    
    $('.dirtycheck').isdirty();
    

【问题讨论】:

  • 虽然您可能已经从下面的答案中弄清楚了,但要明确回答您的第二个问题 - 是的,您可以使用这种技术扩展任何 jQuery 对象。

标签: jquery function object selector


【解决方案1】:
  1. $.fnjQuery.prototype 的快捷方式。当您augmentprototype 时,所有 jQuery 对象都可以访问该新方法。
  2. 这样创建的任何插件都可以使用this 访问选定的集合。一般形式是...

$.fn.abc = function() {
    // Return it so we can keep chaining.
    return this.each(function() {
       // Do whatever.
    });
};

【讨论】:

    【解决方案2】:

    $.fn === $.prototype

    它是jQuery的原型。如果你扩展它,你可以将它用作 jQuery 对象的方法。

    使用 jQuery 方法创建的任何对象(即 $("#foo"))都将继承 $.fn 上定义的所有方法

    所以这意味着你可以打电话给$("#foo").isDirty();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-18
      • 2011-08-24
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多