我正在创作一个jQuery插件,其中我想写的一个方法不会采用选择器参数,也不需要传递元素。我希望像$.myMethod()
这样的调用可以像内置的$.ajax()
方法一样使用它。到目前为止,我已尝试过类似
$.fn.myMethod(options) {
console.log("I've been called");
}
这在我尝试$('.a_selector').myMethod()
时有效,但在我尝试$.myMethod()
时却无效。
这是可以使用jQuery插件还是仅适用于内部函数。
此方法的目的是对存储在jQuery.data中的某些数据执行操作。我认识到他们jQuery.data与一个元素相关联,但在这种情况下,我已经将它硬编码到body元素,以便为最终用户提供更多便利。
答案 0 :(得分:2)
作为$.fn
成员的函数适用于jQuery对象,而不适用于$
对象本身。如果要创建这样的方法,只需编写:
$.yourMethod = function() {
// Do something.
};
现在你可以在没有jQuery对象的情况下调用它:
$.yourMethod();
答案 1 :(得分:0)
声明这种功能的详细方法可以是
$.extend({myMethodA:function(){
//Do something
},
myMethodB:function(){
//Do something else
}
});