EDIT: Como se ha señalado por Seb, esto no es estrictamente un ejemplo de 'extender' un plugin, más 'encapsular' un plugin, así que toma como viene :)
Aquí hay algo que hice para simplificar mi uso de la jquery autocomplete plugin hace un tiempo:
// small autocomplete plugin wrapping the full autocomplete plugin for a standard look and feel
(function($) {
$.fn.standardAutocomplete = function(type) {
return this.autocomplete(ToAbsoluteUrl("~/System/Autocomplete/" + type), {
formatItem: formatItem,
formatResult: formatResult
});
// Autocomplete formatting callbacks
function formatItem(row) { return row[0] + "<span class=\"sub\">" + row[1] + "</span>"; }
function formatResult(row) { return row[0].replace(/(<.+?>)/gi, ''); }
}
})(jQuery);
Ahora que no está siguiendo "por el libro" práctica de codificación jQuery - por ejemplo, No estoy explicando el hecho de que podría haber múltiples elementos seleccionados, pero en este caso, sé que nunca voy a seleccionar más de un elemento en una página con esto, así que quería mantenerlo simple, y "funciona para yo". Es posible que pueda utilizar un enfoque similar, tal vez con un poco más de sofisticación.
En realidad, estaba considerando ese método, ya que se siente menos sucio que copiar y pegar. ¿Me perdonarás si espero una respuesta 'por el libro' por un tiempo antes de marcar la tuya como la respuesta? :) –
Por supuesto, no hay problema :) –
Esto es un contenedor, no extiende ninguna clase ni objeto. De hecho, estás creando un nuevo complemento que utiliza otro, pero no tiene ninguno de los métodos ni opciones del otro complemento, en ese caso, estás ampliando cualquier cosa. – Seb