Вы по сути настроили свой плагин так:
( function($) {
$.fn.doSomething = function() {
// stuff
};
}(jQuery));
... и, следовательно, имеете плагин, который работает с объектами jQuery.Так что это будет работать:
$('#something').doSomething();
Но вы вызываете это так:
$.doSomething(); // doesn't work
Поскольку вы, очевидно, хотите, чтобы ваша функция стояла отдельно в пространстве имен jQuery, вы должны установитьэто выглядит так:
$.doSomething = function(){
// stuff
};
Итак, в случае вашего кода попробуйте добавить это внизу, прямо над концом вашей функции:
$.myAjax = $.fn.myAjax;
В качестве примечанияне рекомендуется добавлять более одного пространства имен для вашего плагина (ajaxDefaults
из вашего примера).Стоит быстро прочитать страницу авторизации плагина jQuery , чтобы получить несколько полезных советов.