亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - 關(guān)于jQuery插件開發(fā),defaults 定義了一個(gè)對(duì)象為空的方法,在外部調(diào)用時(shí)如何向這個(gè)空的方法添加方法

瀏覽:155日期:2023-02-21 15:28:22

問(wèn)題描述

這是一個(gè)自己寫的一個(gè)簡(jiǎn)單插件,問(wèn)題在下面代碼中有注釋

(function($, window, document, undefined) { // 創(chuàng)造一個(gè)公共變量來(lái)構(gòu)建一個(gè)私有方法 var privateFunction = function() {// 不是很明白這個(gè)私有方法要如何使用,具體有什么用,找了一下資料也不是很明白 } var methods = {nTab: function(options) { return this.each(function() {// 關(guān)于 data() 有沒(méi)有必要用在這里,我理解 data() 函數(shù)是用來(lái)保存插件默認(rèn)沒(méi)有的參數(shù)或方法用的。不知道這樣理解對(duì)不對(duì)。和我預(yù)留一個(gè)onSomeEvent 函數(shù)來(lái)增加一些功能有什么區(qū)別?var $this = $(this);var defaults = { tabTitle: ’.product-tab-title li’, tabContent: ’.product-tab-content’, tabTitleState: ’active’, tabContentBlock: ’block’, tabContentNone: ’none’, eventType: ’click’, onSomeEvent: function() {} // 這個(gè)為空的方法我預(yù)留處理打算以后遇到需要添加功能的時(shí)候使用,但怎么弄都不知道具體的使用方法};var settings = $.extend({}, defaults, options);$this.find(settings.tabTitle).on(settings.eventType, function() { index = $(this).index(); $(this).addClass(settings.tabTitleState).siblings().removeClass(settings.tabTitleState); $(settings.tabContent).eq(index).addClass(settings.tabContentBlock).removeClass(settings.tabContentNone).siblings(settings.tabContent).addClass(settings.tabContentNone).removeClass(settings.tabContentBlock);}); });} }; $.fn.userInCommonUseJsPlugin = function() {var method = arguments[0];if(methods[method]) { method = methods[method]; arguments = Array.prototype.slice.call(arguments, 1);} else/* if( typeof(method) == ’object’ || !method ) { method = methods.init;} else */{ $.error( ’Method ’ + method + ’ does not exist on jQuery.pluginName’ ); return this;}return method.apply(this, arguments); }})(jQuery, window, document);

這是我外部調(diào)用時(shí)的代碼

$(function(){ $(’.nTab’).userInCommonUseJsPlugin(’nTab’, {// 我想找這里寫一個(gè)onSomeEvent: function() {}來(lái)增加插件沒(méi)有的功能,該如何實(shí)現(xiàn) });})

問(wèn)題在上述代碼里有注釋,還望大神指教!!!

問(wèn)題解答

回答1:

好久沒(méi)寫過(guò)jquery插件了,應(yīng)該是用把外部添加值通過(guò)$.extend方法來(lái)拓充到內(nèi)部

回答2:

已經(jīng)找到其中一個(gè)答案了,關(guān)于回調(diào)函數(shù)的使用http://learn.jquery.com/plugi...

插件內(nèi)回調(diào)函數(shù)寫法

var defaults = { // We define an empty anonymous function so that // we don’t need to check its existence before calling it. onImageShow : function() {}, // ... rest of settings ... }; // Later on in the plugin: nextButton.on( 'click', showNextImage ); function showNextImage() { // Returns reference to the next image node var image = getNextImage(); // Stuff to show the image here... // Here’s the callback: settings.onImageShow.call( image );}

外部調(diào)用時(shí)使用回調(diào)函數(shù)

$( 'ul.imgs li' ).superGallery({ onImageShow: function() {$( this ).after( '<span>' + $( this ).attr( 'longdesc' ) + '</span>' ); }, // ... other options ...});

標(biāo)簽: JavaScript
主站蜘蛛池模板: 青青操在线观看 | 精品亚洲成a人在线播放 | 成人自拍网 | 久久久线视频 | 玖玖爱在线观看 在线播放 玖玖草在线观看 | 一级黄色片中国 | 国产在线综合一区二区三区 | 国产欧美精品一区二区色综合 | 久久精品国产999大香线焦 | 国产男人午夜视频在线观看 | 亚洲涩涩涩 | 成人久久久观看免费毛片 | 天天欲色成人综合网站 | 免费精品在线 | 日韩中文字幕精品久久 | 军营呻吟娇喘np | 国产精品一区久久 | 国产精品反差婊在线观看 | 九九热精品视频在线观看 | 非洲特黄一级毛片高清视频 | 成年黄页网站视频全免费 | 免费看片亚洲 | 国产成人免费全部网站 | 黄片毛片大全 | 一级无遮挡理论片 | 国产精品久久精品视 | 黄色a三级三级三级免费看 黄色a三级免费看 | 欧美成人免费全部观看天天性色 | 国产在线观看91精品亚瑟 | 精品久久久久不卡无毒 | 国产免费一级高清淫日本片 | 久久tv免费国产高清 | 欧美精品片 | 国内一级片 | 黄色在线免费看 | 国产成人免费影片在线观看 | 国产一区二区三区在线看 | 国产黄网在线观看 | 精品香蕉99久久久久网站 | 国产婷婷成人久久av免费高清 | 欧美在线一级精品 |