欢迎来到天天文库
浏览记录
ID:42788777
大小:115.50 KB
页数:14页
时间:2019-09-21
《使用jQuery(中级),第 2 部分 创建自己的插件》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、使用jQuery(中级),第2部分: 创建自己的插件2009年7月20日jQuery允许您创建自己的插件来扩展jQuery的功能,也可以以此回报jQuery社区。本文介绍创建自己的插件的步骤,并介绍如何让它在出现在jQuery插件社区网页上。简介在该系列之前的文章 使用jQuery,第2部分:中级jQuery:UI项目 中,我介绍了使用jQuery代码中的插件来提高web应用程序的效率。但必须知道,这些插件不是自己凭空产生的,它们是由开发人员编写、测试并完善的,这些人员为jQuery社区奉献了自己的业余时间。我们做这些都是免费的,是出于对自己代码的热爱。本文
2、主要关注您如何回报这个伟大的社区,即如何编写自己的插件并上传到jQuery的插件页面。这可以让所有人使用您创建的插件,可以让整个jQuery开发社区变得更好。今年您也做出自己的贡献吧。在编写本文中的插件时,我发现插件的创建过程以及用来创建它的框架非常简单明了。困难的地方在于想一些其他人还没有做过的事情,并编写一些能真正完成某些操作的JavaScript代码。由于插件结构简单明了,对于新手它简单易学,对于高手它很灵活,因此插件的数量急速上升。当然,在研究本文所涉及的内容时,我还发现每个作者编写插件的风格都不同,jQuery允许好几种不同的插件编写风格。在本文中
3、,我集中介绍最简单的一种风格,以及jQuery本身推荐的一种风格,插件弹出后您就会看到差别或不同的选项。描述插件创建插件的第1步当然是想一个好点子。像大部分点子一样,其他人总会给您创造机会。以我在本文中开发的插件为例,它不是什么新颖的概念,但在我撰写文本的时候,jQuery插件社区还找不到该插件。我知道我个人会从该插件中受益良多。我的插件是一个NumberFormatter插件。处理服务器端代码(比如Java™或PHP)和国际化的用户应该很熟悉数字格式化。众所周知,并非每个人都用相同的方式格式化数字。例如,并非每个人都使用“里”来度量距离。在美国,数字的写法
4、可能是“1,250,500.75”(这个数字是从我的税收表上抄来的),但在其他国家的写法可能完全不同:德国是“1.250.500,75”,法国是“1250500,75”,瑞士是“1'250'500.75”,日本是“125,0500.75”。数字完全相同,但是在向web应用程序用户展示时使用不同的格式。因此,问题归结到,当编写一个国际化应用程序时,如何向不同国家的人展示这些数字?当然,解决方案是使用服务器端格式化,这种解决办法非常常见。Java有一个健壮的格式化库,使数字的格式化变得非常简单。当使用数字在服务器上设置页面时,服务器负责处理这些数字。但是,很多时
5、候数字可能不在服务器上,因此您需要一种方法在客户机上格式化数字,而不需要与服务器会话。我在这里描述的典型用例如下。您的web应用程序中有一个输入字段,要求用户输入他们的薪水。在美国,用户可能以各种格式输入“$65000”、“65,000”、“65000”和“65,000.00”。所有这些数字都是相同的,但是您需要控制这些数字在屏幕上的显示方式,这样才能提供更好的用户体验。您可以 在输入数字之后调用服务器,但是如果有许多使用不同格式的数字字段就太麻烦了。此外,如果您可以在客户端处理该问题,并向用户提供即时反馈,那么就不需要这样做了。因此,我建立了一个空缺,之后
6、我将尝试使用JavaScript/jQuery功能填补这一空缺。我的插件将在客户机上提供数字格式化,为其他人提供一种国际化web应用程序的方式,且无需与服务器会话。作为额外的功能,我的插件还可以提供反向操作;该插件使开发人员能够解析数字,从格式化的文本字符串中获取数字。这还可以应用于客户机上的数字操作。此外,我将模拟Java DecimalFormatter 类中的功能,以维护执行数字格式化的客户端代码和标准服务器端方法之间的通用性。第1步结果:我发现了一个插件需求,然后定义了对于该需求我可以填补的空缺。插件规则jQuery团队建立了许多希望插件作者都能遵守
7、的通用规则,为插件用户创建一个通用而可信的环境。考虑到jQuery团队比我聪明多了,我没有理由违背这些规则,对不对?出于该原因,我在此列出这些规则,并且在插件的每一步都尽量遵守这些规则。·文件命名为“jquery..js”这是有道理的,因为您希望用户查看文件时立即知道这是一个jQuery插件以及这是哪个插件。检查完毕。我的插件将命名为“jquery.numberformatter.js”。·所有新方法都附加到jQuery.fn对象,所有新功能都附加到jQuery对象现阶段这可能有点难以理解,在下一节我将讨论更多内容,因为这是
8、实际编码过程中最重要的规则。检查完毕。我的方法/函数
此文档下载收益归作者所有