// jquery_扩展// 代码1$.fn.highlight = function (options) { ???// 合并默认值和用户设定值: ???var opts = $.extend({}, $.fn.highlight.defaults, options); ???this.css(‘backgroundColor‘, opts.backgroundColor).css(‘color‘, opts.color); ???return this;}// 设定默认值:$.fn.highlight.defaults = { ???color: ‘#d85030‘, ???backgroundColor: ‘#fff8de‘}// 代码解说:$.fn.‘functionName‘用于对jquery的方法进行扩展// 代码2// 给$.fn绑定函数,实现插件的代码逻辑;// 插件函数最后要return this;以支持链式调用;// 插件函数要有默认值,绑定在$.fn.<pluginName>.defaults上;// 用户在调用时可传入设定值以便覆盖默认值。// 代码解说:编写jquery插件的原则// 代码3$.fn.external = function () { ???// return返回的each()返回结果,支持链式调用: ???return this.filter(‘a‘).each(function () { ???????// 注意: each()内部的回调函数的this绑定为DOM本身! ???????var a = $(this); ???????var url = a.attr(‘href‘); ???????if (url && (url.indexOf(‘http://‘) === 0 || url.indexOf(‘https://‘) === 0)) { ???????????a.attr(‘href‘, ‘#0‘) ???????????????.removeAttr(‘target‘) ???????????????.append(‘ <i class="uk-icon-external-link"></i>‘) ???????????????.click(function () { ???????????????????if (confirm(‘你确定要前往‘ + url + ‘?‘)) { ???????????????????????window.open(url); ???????????????????} ???????????????}); ???????} ???});}// 代码解说:jquery插件的1个例子
jquery_扩展
原文地址:https://www.cnblogs.com/mexding/p/9068510.html