Как расширить плагин Twitter Bootstrap

Я копаюсь в Bootstrap в Твиттере и теперь хочу попробовать добавить некоторые функциональные возможности в плагины, но я не могу понять, как это сделать. Используя модальный плагин в качестве примера (http://twitter.github.com/bootstrap/javascript.html#modals), Я хотел бы добавить новую функцию в плагин, которая может быть вызвана так же, как стандартные методы плагина. Самое близкое, я думаю, я пришел со следующим кодом, но все, что я получаю, когда пытаюсь получить доступ, это то, что функция не является частью объекта.

Какие-либо предложения? Это то, что я попробовал, это, кажется, ближе всего к тому, что мне нужно сделать:

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

Тогда я хотел бы назвать это следующим образом:

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

РЕДАКТИРОВАТЬ: ОК, я понял, как это сделать:

(function ($) {
    var extensionMethods = {
        displayFooterMessage: function ($msg) {
            var args = arguments[0]
            var that = this;

            // do stuff here
        }
    }

    $.extend(true, $.fn.modal.Constructor.prototype, extensionMethods);
})(jQuery);

Проблема с существующим набором плагинов Bootstrap заключается в том, что если кто-то хочет расширить их, ни один из новых методов не может принимать аргументы. Моя попытка «исправить» это состояла в том, чтобы добавить принятие аргументов в вызове функции плагинов.

$.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

Ответы на вопрос(5)

Ваш ответ на вопрос