Javascript 如何使用新函数扩展jQuery类型?
我有一个特殊类型的对象,它实际上是QTip2。我想在我的qtip类型中添加一个额外的函数,这样我就可以对我的实例执行如下操作:Javascript 如何使用新函数扩展jQuery类型?,javascript,jquery-plugins,javascript-objects,jquery,Javascript,Jquery Plugins,Javascript Objects,Jquery,我有一个特殊类型的对象,它实际上是QTip2。我想在我的qtip类型中添加一个额外的函数,这样我就可以对我的实例执行如下操作: myQtip1.doSomething(); 如何在jQuery对象上扩展函数?尝试将内容添加到jQuery.fn- jQuery.fn.myMethod = function () { //... }; 要将其与其他库的myMethod区分开来,您可以将其称为customPrefix\u myMethod(将customPrefix替换为您自己的自定义前缀)。
myQtip1.doSomething();
如何在jQuery对象上扩展函数?尝试将内容添加到
jQuery.fn
-
jQuery.fn.myMethod = function () {
//...
};
要将其与其他库的myMethod
区分开来,您可以将其称为customPrefix\u myMethod
(将customPrefix
替换为您自己的自定义前缀)。尝试以下操作:
jQuery.fn.extend({
my_function: function () {
// do stuff
}
});
然后你可以像这样使用它
$('#element').my_function();
您还可以在链中使用它:
$('#element').parent().my_function().show();
那么名称冲突呢?如果在“全局jquery”名称空间中,我如何避免它们?查看本文了解有关名称空间的更多信息:在jquery.fn或jquery.fn.extend中这样做有什么区别?应该没有什么大的区别,除非要添加多个方法(其中
.extend
会更短)。但是,直接添加到jQuery.fn
应该更快一些,因为这样可以避免调用额外的函数。