我了解扩展jquery.fn的概念,将您的自定义函数放在jquery对象的原型链上,但在我的情况下,我的一些工具不需要附加到选择器.
我基本上正在寻找一种静态方法.所以我想知道在jquery对象上直接编写静态方法的任何陷阱作为util方法.
我基本上正在寻找一种静态方法.所以我想知道在jquery对象上直接编写静态方法的任何陷阱作为util方法.
例:
jquery.myMethod = function(arg){ ...... } $.myMethod("blabla");
谢谢
解决方法
@H_404_12@ 您似乎认识到,最好不要将所有的效用函数转储到全局命名空间中.影响全球命名空间越少越好.如果你已经有了jQuery,那么你的选择在哪里呢?>作为jQuery对象的新方法,如jQuery.myUtil1(),jQuery.myUtil2().
>作为jQuery对象下的一个对象下的新方法:jQuery.jfUtils.myUtil1(),jQuery.jfUtils.myUtil2().
>作为一个新的全局对象的新方法(与jQuery无关)为:jfUtils.myUtil1(),jfUtils.myUtil2().
选项2)似乎比选项1更好,因为您减少与其他jQuery函数冲突的机会,尽管您为每个函数调用添加了一个额外的查找.
选项3)似乎完全可以接受,因为它只添加一个新的项目到全局命名空间,只要你使名称相当独特,你应该可以.
所以,我认为你可以选择2)或选项3).选项2)可能会更安全一些,因为您知道该命名空间的一般范围,但是可以工作.