jQuery 插件開發(fā)指南
那么首先我們來簡單的看一下最正統(tǒng)的 jQuery 插件定義方式:
(function ($) {
$.fn.插件名 = function (settings) {
//默認(rèn)參數(shù)
var defaultSettings = {
} /* 合并默認(rèn)參數(shù)和用戶自定義參數(shù) */
settings = $.extend(defaultSettings, settings);
return this.each(function () { //代碼 }); //插件在元素內(nèi)多次出現(xiàn)
} })(jQuery);
先來看模板中的第一行代碼(當(dāng)然我們要把這一行代碼的后半部分給揪出來一起看,不然第一行就完全無意義了):
(function ($) {
})(jQuery);
這行代碼其實是用于創(chuàng)建一個匿名函數(shù)。如果你對匿名函數(shù)和閉包不了解,將會對這種代碼非常疑惑,那么強(qiáng)烈建議您閱讀【詳談JavaScript 匿名函數(shù)及閉包】這篇文章。
jQuery 的繼承方法 $.extend —— $.extend 在jQuery 插件開發(fā)中有個很重要的作用,就是用于合并參數(shù)。
$.fn.tip = function (settings) {
var defaultSettings = {
//顏色
color: 'yellow',
//延遲
timeout: 200 }
/* 合并默認(rèn)參數(shù)和用戶自定義參數(shù) */
settings = $.extend(defaultSettings, settings);
alert(settings.input); <br>}
jQuery 插件定義第二種方式:
(function ($) {
//插件定義--更換名字
$.fn.tabpanel = function (method) {
var methods = $.fn.tabpanel.methods;
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
}
}
//支持的方法
$.fn.tabpanel.methods =
{
//初始化
init: function (p_options) {
tabpanelBind(p_options, this);
},
add: function (p_options) {
addTab(p_options, this);
tabpanelBind(p_options, this);
// debugger
} }
function add(p_options) {
var _defaults = {
id: ""
}
<br> //內(nèi)部實現(xiàn)略.........<br> return _index;
}
<br>})(jQuery);<br><br>調(diào)用 $("#team").tabpanel('add',"");
好了,上面介紹的這2種開發(fā)方式都是最常用的,小伙伴們先好好學(xué)習(xí)下吧,后續(xù)我們再介紹的更深入些
相關(guān)文章
jQuery實現(xiàn)Ajax功能分析【與Flask后臺交互】
這篇文章主要介紹了jQuery實現(xiàn)Ajax功能,結(jié)合實例形式分析了jQuery ajax功能實現(xiàn)方法以及與Flask后臺進(jìn)行交互的相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
jQuery EasyUI 開源插件套裝 完全替代ExtJS
JQuery愛好者們的福音 jQuery EasyUI 開源插件套裝 完全替代ExtJS(引用)2010-03-03
jQuery使用prepend()方法在元素前添加內(nèi)容用法實例
這篇文章主要介紹了jQuery使用prepend()方法在元素前添加內(nèi)容的方法,實例分析了prepend方法追加內(nèi)容的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03

