码迷,mamicode.com
首页 > Web开发 > 详细

jquery_扩展

时间:2018-05-21 19:39:59      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:默认值   逻辑   return   round   defaults   confirm   app   pen   extend   

// 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_扩展

标签:默认值   逻辑   return   round   defaults   confirm   app   pen   extend   

原文地址:https://www.cnblogs.com/mexding/p/9068510.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!