学习要点:
1.插件概述
2.验证插件
3.自动完成插件
4.自定义插件
插件(Plugin)也成为 jQuery 扩展(Extension),是一种遵循一定规范的应用程序接口编写出来的程序。目前 jQuery 插件已超过几千种,由来自世界各地的开发者共同编写、验证和完善。而对于 jQuery 开发者而言,直接使用这些插件将快速稳定架构系统,节约项目成本。
一.插件概述
插件是以 jQuery 的核心代码为基础,编写出复合一定规范的应用程序。也就是说,插件也是 jQuery 代码,通过 js 文件引入的方式植入即可。
插件的种类很多,主要大致可以分为:UI 类、表单及验证类、输入类、特效类、Ajax类、滑动类、图形图像类、导航类、综合工具类、动画类等等。
引入插件是需要一定步骤的,基本如下:
1.必须先引入 jquery.js 文件,而且在所有插件之前引入;
2.引入插件;
3.引入插件的周边,比如皮肤、中文包等。
二.验证插件
Validate.js 是 jQuery 比较优秀的表单验证插件之一。这个插件有两个 js 文件,一个是主文件,一个是中文包文件。使用的时候,可以使用 min 版本;在这里,为了教学,我们未压缩版本。
验证插件包含的两个文件分别为:jquery.validate.js 和 jquery.validate.messages_zh.js。
//HTML 内容 <script type="text/javascript" src="jquery.validate.js"></script> <script type="text/javascript" src="jquery.validate.messages_zh.js"></script> <form> <p>用 户 名: <input type="text" class="required" name="username" minlength="2" /> *</p> <p>电子邮件:<input type="text" class="required email" name="email" /> *</p> <p>网 址:<input type="text" class="url" name="url" /></p> <p><input type="submit" value="提交" /></p> </form>
//jQuery 代码 $(function () { $('form').validate(); });
只要通过 form 元素的 jQuery 对象调用 validate()方法,就可以实现“必填” 、 “不能小于两位” 、 “电子邮件不正确” 、 “网址不正确”等验证效果。除了 js 端的 validate()方法调用,表单处也需要相应设置才能最终得到验证效果。
1.必填项:在表单设置 class="required";
2.不得小于两位:在表单设置 minlength="2";
3.电子邮件:在表单中设置 class="email";
4.网址:在表单中设置 class="url"。
注意:本章就简单的了解插件的使用,并不针对某个功能的插件进行详细讲解。比如验证插件 validate.js,它类似与 jQuery 一样,同样具有各种操作方法和功能,需要进行类似手册一样的查询和讲解。所以,我们会在项目中再去详细讲解使用到的插件。
三.自动完成插件
所谓自动完成,就是当用户输入部分字符的时候,智能的搜索出包含字符的全部内容。比如:输入 a,把匹配的内容列表展示出来。
//HTML 内容 <script type="text/javascript" src="jquery.autocomplete.js"></script> <script type="text/javascript" src="jquery-migrate-1.2.1.js"></script> <link rel="stylesheet" href="jquery.autocomplete.css" type="text/css" />
//jQuery 代码 var user = ['about', 'family', 'but', 'black']; $('form input[name=username]').autocomplete(user, { minChars : 0 //双击显示全部数据 });
注意:这个自动完成插件使用的 jQuery 版本较老,用了一些已被新版本的 jQuery 废弃删除的方法,这样必须要向下兼容才能有效。所以,去查找插件的时候,要注意一下他坚持的版本。
四.自定义插件
前面我们使用了别人提供好的插件, 使用起来非常的方便。 如果市面上找不到自己满意的插件,并且想自己封装一个插件提供给别人使用。那么就需要自己编写一个 jQuery 插件了。
按照功能分类,插件的形式可以分为一下三类:
1.封装对象方法的插件; (也就是基于某个 DOM 元素的 jQuery 对象,局部性)
2.封装全局函数的插件; (全局性的封装)
3.选择器插件。(类似与.find())
经过日积月累的插件开发, 开发者逐步约定了一些基本要点, 以解决各种因为插件导致的冲突、错误等问题,包括如下:
1.插件名推荐使用 jquery.[插件名].js,以免和其他 js 文件或者其他库相冲突;
2.局部对象附加 jquery.fn 对象上,全局函数附加在 jquery 上;
3.插件内部,this 指向是当前的局部对象;
4.可以通过 this.each 来遍历所有元素;
5.所有的方法或插件,必须用分号结尾,避免出现问题;
6.插件应该返回的是 jQuery 对象,以保证可链式连缀;
7.避免插件内部使用$,如果要使用,请传递 jQuery 进去。
按照以上的要点,我们开发一个局部或全局的导航菜单的插件。只要导航的<li>标签内部嵌入要下拉的<ul>,并且 class 为 nav,即可完成下拉菜单。
//HTML 部分 <ul class="list"> <li>导航列表 <ul class="nav"> <li>导航列表 1</li> <li>导航列表 1</li> <li>导航列表 1</li> <li>导航列表 1</li> <li>导航列表 1</li> <li>导航列表 1</li> </ul> </li> <li>导航列表 <ul class="nav"> <li>导航列表 2</li> <li>导航列表 2</li> <li>导航列表 2</li> <li>导航列表 2</li> <li>导航列表 2</li> <li>导航列表 2</li> </ul> </li> </ul>
//jquery.nav.js 部分 ;(function ($) { $.fn.extend({ 'nav' : function (color) { $(this).find('.nav').css({ listStyle : 'none', margin : 0, padding : 0, display : 'none', color : color }); $(this).find('.nav').parent().hover(function () { $(this).find('.nav').slideDown('normal'); }, function () { $(this).find('.nav').stop().slideUp('normal'); }); return this; } }); })(jQuery);
相关推荐
同时,我们也要注意插件的安全性,避免引入可能带来安全风险的第三方插件。 在本章的学习中,我们还会涉及插件的管理和配置,以及如何调试和优化插件性能。理解插件的工作机制并掌握其开发技术,对于提升个人或团队...
总结一下,本章"插件(下)"将深入讨论插件的实现细节,包括插件接口的设计、加载机制的实现、插件的生命周期管理和插件间的通信。这些都是理解和开发插件系统的关键知识点,对于提升软件的可扩展性和可维护性具有...
第五章至第八章可能会深入讲解命令、 handlers、快捷键和菜单的定义,这是实现插件功能的重要部分。开发者需要学会如何定义自己的命令,关联处理器,以及将这些命令绑定到用户界面的不同元素上。 第九章至第十二章...
4. **第15章 对话框和向导(Dialogs Wizards)**:对话框和向导是用户与Eclipse进行交互的重要方式。本章可能涉及到如何创建和使用对话框,比如输入框、确认对话框,以及构建多步骤的向导,用于引导用户完成复杂任务...
面向对象程序设计(Java)第十五章例题代码-J7chapte15面向对象程序设计(Java)第十五章例题代码-J7chapte15面向对象程序设计(Java)第十五章例题代码-J7chapte15面向对象程序设计(Java)第十五章例题代码-J7...
第15章 对话框和向导(DialogsWizards) 第16章 首选项(Preferences) 第17章 帮助内容(Help Contents) 第18章 备忘单(CheatSheet) 第三篇 高级进阶 第19章 插件开发高级内容 第20章 富客户端平台(RCP)技术 第21章 ...
1. **第15章:对话框和向导(Dialogs and Wizards)** - 在Eclipse RCP中,对话框和向导是用户交互的重要组成部分。对话框用于获取用户的输入或显示信息,而向导则引导用户完成一系列步骤。本章可能涵盖了如何创建...
18 第15章 对话框和向导(Dialogs Wizards).pdf 19 第16章 首选项(Preferences).pdf 20 第17章 帮助内容(Help contents).pdf 21 第18章 备忘单(CheatSheet).pdf 22 Eclipse 插件开发学习笔记 第三篇高级...
第15章 插件化技术 本书内容 本书共分为17章,各章内容如下: 第1章介绍Android系统架构、系统源码目录和如何阅读源码,带领大家走进Android系统源码的世界。 第2章介绍Android系统启动过程,为下面的章节做好...
6. **第15章:对话框和向导(Dialogs Wizards)** - 对话框用于获取用户输入,向导则引导用户完成复杂任务。本章会介绍如何创建标准对话框和向导,包括布局管理、表单元素以及向导页的实现。 7. **第16章:首选项...
本书的主要内容是介绍Eclipse插件开发的相关知识和技巧,包括Eclipse的系统结构、SWT/JFace技术、插件开发方法、RCP开发方法以及其他一些相关的技术专题。本书覆盖了Eclipse平台技术的核心领域,是目前市场上讲述...
本学习笔记涵盖了从第15章到第24章的内容,这部分主要包括了以下几个核心知识点: 1. **插件项目结构**:在Eclipse中开发插件首先需要了解其基本项目结构,包括Plugin Project、Feature Project和Update Site ...
在第15章中,我们主要关注的是标签页(Tabs)和工具提示(Tooltips)这两个重要的交互元素。 **标签页(Tabs)** 标签页是一种组织内容的有效方式,它将大量信息划分为可切换的不同部分,以提高用户体验。Bootstrap的...
- **第十五章:Multisite**(第425页至第462页) - 多站点环境下插件开发的特点。 - 如何确保插件在多站点环境中的兼容性。 - 最佳实践和注意事项。 #### 十四、调试与优化 - **第十六章:调试和优化**(第463页...
第十一至第十三章可能涉及更高级的主题,如开发RCP(Rich Client Platform)应用,利用Eclipse的可扩展性构建桌面级应用程序。此外,调试插件、性能优化、国际化(i18n)和本地化(l10n)也是这一阶段的重要内容。 ...
第十一章"操作(Actions)"讲述了如何在Eclipse插件中添加各种用户可执行的动作,如菜单、工具栏按钮,以及与之相关的事件处理。 这些章节的学习将覆盖Eclipse插件开发的主要方面,通过理论学习与实践操作相结合,...
首先,第15章《对话框和向导(Dialogs Wizards)》讲解了在Eclipse中创建和使用对话框以及向导的基本步骤。对话框用于获取用户输入,而向导则引导用户完成一系列操作。这一章将介绍如何定义对话框的布局,设置控件,...
01第一篇 开发基础(封面).pdf 02目录.pdf 03第1章 Eclipse平台简介.pdf 04第2章 SWT/JFace概述.pdf 05第3章 SWT编程基础.pdf ... 15 第12章 视图(views).pdf 16 第13章 编辑器(Editors).pdf
第十五章《Visual Studio Shell》介绍了Visual Studio Shell的概念和用途,这是一种用于创建基于Visual Studio的自定义IDE的框架。 ### 16. 领域特定语言工具 第十六章《领域特定语言工具》探讨了如何为特定领域...
综上所述,"struts2第15章part1"涵盖了Struts2框架的高级特性,包括拦截器、结果类型、动态方法访问、插件、模型驱动与注解配置、安全性和异常处理等。深入理解和掌握这部分内容,对于提升Struts2应用的开发能力和...