谈到jQuery,对于开发人员是再熟悉不过了,从其诞生发展到到目前,一路走来,历经风雨变化十几载,依旧是开发人员使用最广泛、最常用、也是最成熟的js库。但其再成熟也不可能开发出所有的功能,于是乎就用了插件这么一说,用来拓展和补充jQuery 的功能。
插件开发最常用的两种方法:
1. 扩展 jQueyr 对象
jQuery.extend({ ?"funName" : function(){ ?}});使用方法$.funName();
或者这样写:
(function($){ ?$.extend({ ???"方法名" : function(){ ???????//方法逻辑 ???} ?});})(jQuery);// 这种方式的模式我们可以这样理解function jq(){}jq.funName = function(){}// 如果要使用 funName 是不是这样的 jq.funName();
注意:使用 IIFE 模式(立即执行函数) 的方式开发插件,避免 $ 对象被污染,我们获取 jQuery 对象,然后在 IIFE 中传入过去,使用 $ 来接受
2.扩展 jQueyr 选择器选择出来的对象
jQuery.fn.extend({ ???"funName" : function(){ ???}});
使用方法
$("dom").funName();
或者这样写:
(function($){ ?$.fn.extend({ ???"方法名" : function(){ ???????//方法逻辑 ???} ?});})(jQuery);// 原理解析$.fn.extend 我们可以理解为如下方式function jq(){
}jq.prototype.funName = function(){}
// 如果我们要使用 funName 是不是这样的方式 jq().funName();
以上拙见,有不对处,望指正,谢谢!
基于jQuery 的插件开发
原文地址:https://www.cnblogs.com/cmyoung/p/8573497.html