In der Webentwicklung ist jquery eine sehr beliebte Javascript-Bibliothek. jquery verfügt über ein umfangreiches Plug-In-Ökosystem, da es eine praktische Plug-In-Kapselungsmethode bietet, mit der wir wiederverwendeten Code in Plug-Ins kapseln können, um ihn in Projekten einfach wiederzuverwenden.
In diesem Artikel wird die Kapselungsmethode des JQuery-Plug-Ins vorgestellt, damit Sie schnell effizienten Code schreiben können.
1. Die Grundstruktur des Plug-Ins
Ein JQuery-Plug-In enthält die folgenden Teile:
1
2. Standardparameter
3. Erweiterungsmethode
5. Nachfolgend stellen wir diese Teile vor um eins.
$.fn.myPlugin = function(options){ var settings = $.extend({ //在这里定义默认参数 }, options); //插件主体函数 }
$.fn.myPlugin = function(options){ var settings = $.extend({ //默认配置项 }, options); var methods = { init: function(){}, verify: function(){}, processData: function(){} }; //插件主体函数 function mainFunc(){ methods.init(); methods.verify(); methods.processData(); } return this.each(function(){ mainFunc(); }); };
$.fn.myPlugin = function(options){ var settings = $.extend({ //默认配置项 }, options); var methods = { //插件方法 }; //插件主体函数 function main(){ //核心功能代码 } return this.each(function(){ //获取jQuery对象 var $this = $(this); //检测我们的插件是否已经应用 var data = $this.data('myPlugin'); //如果插件未被初始化,则初始化插件 if(!data){ $this.data('myPlugin', { target: $this, methods: methods }); main(); } }); };
var settings = $.extend({ color: '#ffffff' }, options); return this.each(function(){ $(this).css('color', settings.color); });
Verkettete Aufrufe implementieren
jQuery wird oft als Javascript-Bibliothek für verkettete Aufrufe bezeichnet, da Sie damit alle DOM-Operationen in Together verketten können. Diese Funktion kann auch auf Ihre Plugins angewendet werden, um eine verkettete API zur Verwendung Ihrer Plugins bereitzustellen. Zum Beispiel können wir unserem Plug-in eine-Methode hinzufügen und es dann ermöglichen, Aufrufe zu verketten. Wie unten gezeigt:
var settings = $.extend({ onClick: function(){} }, options); return this.each(function(){ $(this).click(function(event){ event.preventDefault(); settings.onClick.call(this, event); }); });
Im obigen Beispiel haben wir The Die Funktion setOption wird hinzugefügt und anschließend wird der Kettenaufruf darüber implementiert. Im folgenden Code zeigen wir, wie man verkettete Aufrufe zum Festlegen von Optionen verwendet:
$("#my-element").myPlugin().myPlugin('setOption', {# #
var settings = $.extend({ onClick: function(){}, option: null }, options); var methods = { setOption: function(option){ return this.each(function(){ $(this).data('option', option); }); } } return this.each(function(){ //实现链式调用 var $this = $(this).data('myPlugin',{'methods': methods}); $this.data('option', settings.option); $this.click(function(event){ event.preventDefault(); settings.onClick.call(this, event, $this.data('option')); }); });
setOption});
Im obigen Beispiel rufen Sie zuerst die Methode myPlugin() auf, die ein myPlugin-Objekt erstellt. Rufen Sie dann die Methode setOption über dieses Objekt auf und übergeben Sie ihm das Optionsobjekt. Auf diese Weise implementieren wir Kettenaufrufe.
我们可以使用 jQuery.fn.extend() 方法扩展对外公开的API。这样就可以在很多不同的方法中重用代码。下面是一个示例:
$.fn.myPlugin = function(){
var methods = { method1: function(){ console.log('method1'); return this; }, method2: function(){ console.log('method2'); return this; } }; this.method1 = methods.method1; this.method2 = methods.method2; return this;
};
在上面示例中,我们使用this关键字将每个方法都添加到了插件函数上。这意味着每次我们调用myPlugin()方法时,我们都可以直接调用这些方法。
我们可以通过使用如下代码来调用这个函数:
$("#my-element").myPlugin().method1().method2();
以上是本文的内容,希望通过这些例子能够帮助您更好地理解jQuery插件封装,从而开发更高效的插件。
Das obige ist der detaillierte Inhalt vonSo kapseln Sie Plug-Ins in JQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
So lösen Sie das Problem, dass der Scanf-Rückgabewert ignoriert wird
Über Seiten verteilte Worttabelle
vbnet-Tutorial
setinterval-Nutzung
So öffnen Sie eine Datei im CSV-Format
Auf welcher Plattform kann ich Ripple-Coins kaufen?
So verwenden Sie HTML für die Webnavigation
So richten Sie den Ruhezustand im Win7-System ein