Come estendere Plugin Bootstrap di Twitter

Sto scavando nel Bootstrap di Twitter e ora voglio provare ad aggiungere qualche funzionalità ai plugin, ma non riesco a capire come farlo. Usando il plug-in modale come esempio ( http://twitter.github.com/bootstrap/javascript.html#modals ), vorrei aggiungere una nuova funzione al plug-in che può essere chiamata come uno dei metodi standard del plugin . Il più vicino credo di essere venuto è con il seguente codice, ma tutto quello che ottengo quando cerco di accedere è che la funzione non fa parte dell’object.

Eventuali suggerimenti? Questo è quello che ho provato che sembra essere il più vicino a quello che devo fare:

$.extend($.fn.modal, { showFooterMessage: function (message) { alert("Hey"); } }); 

Quindi vorrei chiamarlo come segue:

  $(this).closest(".modal").modal("showFooterMessage"); 

EDIT: OK, ho capito come fare questo:

 (function ($) { var extensionMethods = { displayFooterMessage: function ($msg) { var args = arguments[0] var that = this; // do stuff here } } $.extend(true, $.fn.modal.Constructor.prototype, extensionMethods); })(jQuery); 

Il problema con il set esistente di plug-in Bootstrap è che se qualcuno vuole estenderli, nessuno dei nuovi metodi può accettare argomenti. Il mio tentativo di “risolvere” questo è stato quello di aggiungere l’accettazione degli argomenti nella chiamata di funzione dei plugin.

 $.fn.modal = function (option) { var args = arguments[1] || {}; return this.each(function () { var $this = $(this) , data = $this.data('modal') , options = typeof option == 'object' && option if (!data) $this.data('modal', (data = new Modal(this, options))) if (typeof option == 'string') data[option](args) else data.show() }) // end each } // end $.fn.modal