不带元素的jQuery插件方法

时间:2012-04-23 14:58:11

标签: javascript jquery jquery-plugins

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

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

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

这是可以使用jQuery插件还是仅适用于内部函数。

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

2 个答案:

答案 0 :(得分:2)

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

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

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

$.yourMethod();

答案 1 :(得分:0)

声明这种功能的详细方法可以是

$.extend({myMethodA:function(){
                            //Do something
                            },
          myMethodB:function(){
                        //Do something else
                                }       
                 });