Пытаюсь сделать плагин для Jquery. Вот его максимально упрощенная версия:
(function($) {
$.extend({
VK: function(options) {
this.init = function() {
}
this.init();
// allow jQuery chaining
return this;
}
});
})(jQuery);
На данный момент вызывается мой плагин след образом:
$.VK();
Я хочу создать обрабтчик события в стиле как это реализовано, например, для ajax:
$.VK().done(function( data ) {
}).fail(function( data ){
});
как это можно реализовать ? То есть вопрос заключается, как вызвать функцию done() из плагина?
Думаю нужно что-то вроде такого, но это конечно не рабоатет
JSFiddle
(function($) {
$.extend({
VK: function(options) {
this.init = function() {
var someCondition = true;
if (someCondition) {
this.done("OK")
} else {
this.fail("fail")
}
}
this.init();
// allow jQuery chaining
return this;
}
});
})(jQuery);
Вообщем благодаря вашим подсказкам пока что получилось так:
(function($) {
$.extend({
VK: function(options) {
init = function() {
var deferred = $.Deferred();
var someCondition = true;
if (someCondition) {
deferred.resolve("ok");
} else {
deferred.reject("fail");
}
return deferred.promise();
}
return init();
}
});
})(jQuery);
$(function() {
$("#button").click(function() {
$.VK().done(function(data) {
alert(data);
});
});
});
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости