jquery插件怎么写(如何编写自己的jQuery插件)

如果您是JavaScript开发人员,您可能知道jQuery。但是你知道怎么用它来创建你自己的插件吗?请继续阅读!

对于那些不知道的人来说,jQuery是一个包含许多功能的JavaScript库,并且非常小而且速度快。它还包含一个易于使用的API,可以在所有浏览器上兼容,并且可以更轻松地进行HTML遍历,动画,DOM操作和事件处理。它不仅可扩展而且耐用。因此,自开发以来,客户端脚本编写变得更加容易。

jquery插件怎么写(如何编写自己的jQuery插件)

什么是jQuery插件?

jQuery由原型对象组成,在某些时候,可能需要一些操作和扩展。出于同样的目的,jQuery插件被设计为对象继承添加的任何其他方法的一种方式。不仅如此,这些附加方法不是孤立的,而是在创建jQuery对象时使用其余方法(已经继承)调用。jQuery插件可以以jQuery库中存在的各个方法的形式单独提供。每个方法都是一个插件。但是,如果有新的东西,插件也可以自定义创建,这不是一项非常困难的任务。

jQuery如何工作?

要了解jQuery的工作原理,您需要按照以下步骤操作:

  • 使用所有基本标记创建一个HTML文档并调用jQuery.js文件。
  • 开发人员提前考虑并将代码的可执行命令封装到 onload() 函数中,以确保在文档加载到浏览器后执行命令。
  • 有时,由于图像加载的延迟,文档不会完整加载。为了确保在加载后准备好处理完整的文档,开发人员ready 在其代码中提供 事件。
  • ready事件的完整脚本( 封装在其中的函数)放在之前创建的HTML文档中。保存和运行文档将确保您的代码使用输出执行。
  • 此函数可以包含执行特定任务的任何事件(子事件)或命令。

什么是基本插件签名?

$.fn.pluginName = function() {

this.css( "color", "yellow" );

};

$( "a" ).pluginName();

该插件开始其身份创建,如上所示。pluginName 由正在创建的插件的名称替换,后跟一个函数和括号中的任何必需参数。此外,function(this.css)中的下一个语句 是确保将CSS应用于某些文本以使其呈黄色。最后一行调用插件函数将所有链接变为' a'标记为黄色。

保护$ Alias并添加范围

jQuery插件总是在假设using $ 使用jQuery函数的别名的情况下编写 。 $ 在JavaScript库中非常有名。因此,当需要多个jQuery库时,使用时可能会出现冲突 $。因此,为了使我们能够将jQuery与其他插件一起使用$,我们必须将代码放在立即调用的函数的表达式中。接下来是jQuery的传递,然后命名它的参数 $。

添加私有方法和变量

在JavaScript中,函数包含几个变量和其他函数,这些函数可以主要在函数内部访问,从而使元素变为私有。立即调用函数efxpressions提供了访问私有变量和方法的最佳方法。

在$解决alias()问题后,可以在此处理解添加私有方法或变量:

(function($) {

$.fn.pluginName = function() {

// private variables

var privatevar1 = '';

var privatevar2 = '';

// private methods

var myPrivateMethod = function() {

// do something ...

}

})(jQuery);

只能通过立即调用函数添加私有变量并允许其使用:

(function($){

var col = “yellow”;$.fn.pluginName = function() {

this.css("color", col);

return this;

};

}(jQuery));

私有方法只能在函数范围内调用。只有其他私有方法或公共方法才有权调用这些私有方法。这也适用于访问私有变量。

添加公共方法

向jQuery插件添加方法是在私有方法中完成的。唯一的区别是方法的执行。当方法提供' this'运算符时,该方法变为公共方法。这样,它也可以在函数范围之外访问。添加此类公共方法的目的可以是在范围外执行函数,也可以从范围外访问公共变量和方法。

(function($) {

$.fn.pluginName = function() {

// public methods

this.initialize = function() {

// do something ...

return this;

};

this.myPublicMethod = function() {

// do something ...

};

})(jQuery);

接受插件自定义选项

在您继续添加插件时,有些情况下您的插件开始变得复杂。因此,最好让您的插件开始接受一些选项并使其可自定义。

(function($) {

$.fn.pluginName = function(options) {

var defaults = {

color: "white",

'background-color': "#556b2f"

};

var settings = $.extend({}, defaults, options);

return this.css({

color: settings.color,

'background-color': settings.background - color

});

};

}(jQuery));

把它放在一起

结合所有技术,编译以下示例插件:

(function($) {

$.fn.pluginName = function(options) {

var defaults = {

color: "white",

'background-color': "#556b2f"

};

var settings = $.extend({}, defaults, options);

if (this.length > 1) {

this.each(function() { $(this).pluginName(options) });

return this;

}

// private variables

var privatevar1 = '';

var privatevar2 = '';

// private methods

var myPrivateMethod = function() {

// do something ...

}

// public methods

this.initialize = function() {

// do something ...

return this;

};

this.myPublicMethod = function() {

// do something ...

};

return this.initialize();

}

})(jQuery);

这里,方法' each()'用于循环遍历元素集合。此外,此方法的返回值是this.append() 方法,它接受回调,返回时我们将能够看到集合中要追加的元素。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论