jQuery 插件开发 笔记

时间:2022-06-27 18:57:56

JQuery 插件开发:

    • 类级别开发,开发新的全局函数
    • 对象级别开发,给Jquery对象开发新方法

一、类级别开发 -定义全局方法

jQuery.foo = function() {
alert('This is a test.');
};

采用命名空间,可以避免命名空间内函数的冲突。

jQuery.apollo={
fun1:function(){
console.log('fun1');
},
fun2:function(){
console.log('fun2');
}
}

二、对象级别开发 -定义jQuery对象方法  

(function($) {
$.fn.pluginName = function() { };
})(jQuery);
//插件通过这样被调用:
$('#myDiv').pluginName();

接受options参数以控制插件的行为

(function($){
$.fn.fun2=function(option){
var defaultOption={
param1:'param1',
param2:'param2'
}
$.extend(defaultOption,option);
console.log(defaultOption);
}
})(jQuery);
$(function(){
//通过这样调用
$("body").fun2({
param1:'new Param1'
});
});

保持私有函数的私有性

 (function($) {
// plugin definition
$.fn.hilight = function(options) {
debug(this);
// ...
};
// private function for debugging
//“debug”方法不能从外部闭包进入,因此对于我们的实现是私有的。
function debug($obj) {
if (window.console && window.console.log)
window.console.log('hilight selection count: ' + $obj.size());
};
// ...
})(jQuery);