jQuery API可以通过添加其原型来扩展。例如,现有的API已经有许多可用的功能,例如,,等。.hide().fadeIn().hasClass()
jQuery原型通过公开$.fn,源代码包含以下行
jQuery.fn = jQuery.prototype
将函数添加到该原型将允许从任何构造的jQuery对象中调用这些函数(对jQuery的每次调用或对$的每次调用(如果愿意)都可以隐式完成)。
构造的jQuery对象将根据传递给它的选择器保存元素的内部数组。例如,$('.active')将在调用时构造一个jQuery对象,该对象包含具有活动类的元素(例如,这不是一组实时元素)。
thisplugin函数内部的值将引用构造的jQuery对象。结果,this用于表示匹配集。
基本插件:
$.fn.highlight = function() { this.css({ background: "yellow" }); }; // 使用示例: $("span").highlight();
jsFiddle示例
可链接性和可重用性
与上面的示例不同,jQuery插件应可链接。
这意味着可以将多个方法链接到相同的元素集合,例如$(".warn").append("WARNING! ").css({color:"red"})(请参阅在之后的方法,两个方法都适用于同一集合).css().append().warn
允许一个人通过不同的自定义选项在不同的集合上使用相同的插件在自定义/可重用性中起着重要的作用
(function($) { $.fn.highlight = function( custom ) { // 默认设置 var settings = $.extend({ color : "", // 默认为当前文字颜色 background : "yellow" // 默认为黄色背景 }, custom); return this.css({ // `return this`保持方法的可链接性 color : settings.color, backgroundColor : settings.background }); }; }( jQuery )); // 使用默认设置 $("span").highlight(); // 您可以链接其他方法 // 使用自定义设置 $("span").highlight({ background: "#f00", color: "white" });
jsFiddle演示
自由
上面的示例在理解基本插件创建的范围内。请记住,不要限制用户使用有限的自定义选项集。
例如,假设您要构建一个插件,您可以在其中传递所需的文本字符串,该字符串将突出显示,并允许最大程度地涉及样式:.highlight()
//... // 默认设置 var settings = $.extend({ text : "", // 突出显示的文字 class : "highlight" // 引用CSS类 }, custom); return this.each(function() { // 您的单词突出显示逻辑 }); //...
用户现在可以通过使用自定义CSS类传递所需的文本并完全控制添加的样式:
$("#content").highlight({ text : "hello", class : "makeYellowBig" });
jsFiddle示例
本文向大家介绍jQuery插件之validation插件,包括了jQuery插件之validation插件的使用技巧和注意事项,需要的朋友参考一下 前面的话 最常使用javascript的场合就是表单的验证,而jQuery作为一个优秀的javascript库,也提供了一个优秀的表单验证插件——Validation。Validation是历史最悠久的jQuery插件之一,经过了全球范围内不同项目的验
本文向大家介绍jQuery插件扩展操作入门示例,包括了jQuery插件扩展操作入门示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery插件扩展操作。分享给大家供大家参考,具体如下: 如下DEMO 展示了为dom扩展一个myshowHtml 的方法 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQue
本文向大家介绍Jquery树插件zTree用法入门教程,包括了Jquery树插件zTree用法入门教程的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了Jquery树插件zTree用法。分享给大家供大家参考。具体分析如下: 关于zTree的介绍就搜吧。 这个例子的最终效果如下: 鼠标移动到一级目录时出现全选链接,点击全选链接该目录下的所有子项都被添加到收件人的文本框中,当然点击单个子项则添加
pre { white-space: pre-wrap; } jQuery EasyUI 提供了用于创建跨浏览器网页的完整的组件集合,包括功能强大的 datagrid(数据网格)、treegrid(树形表格)、 panel(面板)、combo(下拉组合)等等。 用户可以组合使用这些组件,也可以单独使用其中一个。 插件列表 Base(基础) Parser 解析器 Easyloader 加载器 Dra
问题内容: 我想加载一个* .txt文件,然后将内容插入div。这是我的代码: js: 的HTML: 文本文件: 如果我点击按钮萤火虫报告以下错误: 我不知道该怎么办 :-( 问题答案: 您需要添加一个数据类型-http: //api.jquery.com/jQuery.ajax/
问题 你想用 CoffeeScript 来创建 jQuery 插件。 解决方案 # 参考 jQuery $ = jQuery # 给 jQuery 添加插件对象 $.fn.extend # 把 pluginName 改成你的插件名字。 pluginName: (options) -> # 默认设置 settings = option1: true