添加函数到$(jQuery)

Hie*_*ero 2 javascript jquery

也许这对你们中的一些人来说很简单但是如何添加

$.functionName(args)

我已经阅读并试图jQuery.extend$.fn:

$.fn.alertSometing = function(param) {
  alert(param);
};
Run Code Online (Sandbox Code Playgroud)

但是当我跑步的时候

  $('.button').on('click', $.alertSometing('something'));
Run Code Online (Sandbox Code Playgroud)

返回此错误:

未捕获的TypeError:$ .alertSometing不是函数(匿名函数)

这是我的代码:http://jsbin.com/kuxomofoka/edit?html,js,console,output

有人可以解释我如何实现或解释我做错了什么?

谢谢!

Ben*_*aum 6

$只是一个普通的对象.

像所有JS对象一样,除非冻结(不是) - 你可以只添加属性:

$.alertSomething = function(message){ alert(message); };
Run Code Online (Sandbox Code Playgroud)

同样对于任何对象:

var obj = {};
obj.alertSomething = function(message){ alert(message); };
Run Code Online (Sandbox Code Playgroud)

一般来说,如果您的代码与jQuery没有任何关系,我强烈建议您不要将它添加到jQuery对象中,而是将其放在您自己的命名空间或模块中.这有助于避免命名冲突.放置东西$$.fn制作插件很有用.

  • @Hiero是的,向$添加属性是完全没问题的,这也是其他插件的功能. (2认同)