自定义jquery插件的覆盖方法

时间:2014-06-30 10:01:15

标签: jquery methods override

我有一个问题要覆盖插件的方法。我知道,有很多已解决的问题,我阅读了大部分问题,但我无法解决问题。

我使用的插件看起来像:

(function($) {
    function ChangeColor(element, options) {
        // Mise en place des options par défaut
        var defaults = {};
        this.$el = $(element);
    }

    var fn = ChangeColor.prototype;

    fn.color = function(){
        this.$el.css('color', 'green');
    };

    // On ajoute le plugin à l'objet jQuery $.fn
    $.fn.changecolor= function(options) {
        return this.each(function() {
            var plugin = new ChangeColor(this, options);
            $(this).data('changecolor', plugin);
        });
    }

    $.ChangeColor= fn;

})(jQuery);

我用它像:

var element = $('.myElement').changecolor().data('changecolor');
element.color();

如果我想要我的颜色"红色"如何覆盖颜色方法?例如?

我尝试了$ .extend,$ .widget但仍然。 我还试着在我的console.log(element.prototype)中设置原型attribut,它已写入" undefined"

向你寻求帮助

1 个答案:

答案 0 :(得分:0)

试试这个,

$.fn.color = function() {
    this.css('color', 'red')
}