3

我正在编写一个 jQuery 插件,其中我想编写的方法之一不会采用选择器参数,也不需要传递元素。我希望它可以通过$.myMethod()像内置$.ajax()方法这样的调用来使用。到目前为止,我已经尝试过类似的东西

$.fn.myMethod(options) {
     console.log("I've been called");
}

这在我尝试时有效,$('.a_selector').myMethod()但在我尝试时无效$.myMethod()

这是否可以通过 jQuery 插件实现,还是仅适用于内部函数。

此方法的目的是对存储在 jQuery.data 中的某些数据执行操作。我认识到他们 jQuery.data 与一个元素相关联,但在这种情况下,我已将其硬编码到 body 元素中,以便最终用户更轻松。

4

2 回答 2

2

作为成员的函数$.fn适用于 jQuery 对象,而不是$对象本身。如果你想创建这样的方法,你只需要写:

$.yourMethod = function() {
    // Do something.
};

现在你可以在没有 jQuery 对象的情况下调用它:

$.yourMethod();
于 2012-04-23T15:02:22.767 回答
0

声明这种功能的一种复杂方式可以是

$.extend({myMethodA:function(){
                            //Do something
                            },
          myMethodB:function(){
                        //Do something else
                                }       
                 });
于 2012-04-23T15:56:18.703 回答