Tengo un complemento jQuery existente, ahora quiero extenderlo. Considere el complemento mencionado a continuación:Reemplazando una función en el complemento jQuery
$.fn.x = function(option) {
var def = {
a: 1,
b: 2
};
option = $.extend(def, option);
function abc() {
//do something
}
function def() {
//do something
}
};
Ahora, el anterior es el complemento que obtuve de algún lado. Necesito tener un comportamiento personalizado para el método ABC, por ejemplo
function abc() {
//do something else
}
No quiero cambiar el plugin existente, ¿Me puede decir cómo podría conseguir el mismo mediante la extensión de la misma o haciendo mi propio complemento personalizado ?
EDIT: he intentado esto también con el método mencionado a continuación:
(function($) {
$.fn.x = function(option) {
var defaults = {
a: 1,
b: 2
};
option = $.extend(def, option);
function abc() {
//do something
console.log('Base method called');
}
function def() {
//do something
abc();
}
def();
};
})(jQuery);
(function() {
var x = $.fn.x;
$.fn.x.abc = function() {
console.log('Overidden method called');
//_x.abc();
};
})();
$('<div/>').x();
Pero todavía estoy recibiendo "Base método llamado" como la salida de la consola.
He aquí un buen artículo para que pueda empezar - http://www.bennadel.com/blog/1624-Ask- Ben-Overriding-Core-jQuery-Methods.htm – HyderA
Gracias, ya he usado ese enlace pero no apunta a lo que he mencionado en mi pregunta. –