JQ的插件编写以及个人经历过需要注意的地方


啰嗦一下,很希望各位‘攻城狮’们能和大家一起分享,一起成长。当然,也可以一起吹。哈,不废话,进入正题。JQ是一个非常好用的库,但是在解决自己项目的实际问题中,难免会遇到需要去拓展的方法,需要我们用插件去实现。当然JQ的也制定了官方的拓展规范,小伙伴可以去看一下。


编写原则

1、避免破坏第三方

2、避免产生全局依赖,规范作用域,避免产生代码污染。

3、兼容jQuery操作符’$’和’jQuery’

代码格式

1
(function ($) {//插件内部代码 })(jQuery);

扩展插件

1
jQuery.fn.extend(object)

扩展jquery 方法,制作插件
闭包限定命名空间

1
(function ($) { $.fn.extend({ "highLight":function(options){ //do something } }); })(window.jQuery);

在这里 window.jQuery 与 jQuery 与 $ 三者是一样的 ~!!!~

给插件默认参数,实现 插件的功能

闭包限定命名空间

1
(function ($) { $.fn.extend({ "highLight": function (options) { var opts = $.extend({}, defaluts, options);

使用jQuery.extend 覆盖插件默认参数 this.each(function () { //这里的this 就是 jQuery对象

//遍历所有的要高亮的dom,当调用 highLight()插件的是一个集合的时候。
//var $this = $(this);获取当前dom 的 jQuery对象,这里的this是当前循环的dom
//根据参数来设置 dom的样式

1
$this.css({ backgroundColor: opts.background, color: opts.foreground }); }); } });

//默认参数

1
var defaluts = { foreground: 'red', background: 'yellow' }; })(window.jQuery);

在这儿要说一下 $.extend () 而且是将该option 合并到调用 extend方法 的对象中去.

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!