Я пытаюсь написать плагин jQuery на основе шаблона прототипа.
Моя проблема в том, что когда я использую функцию $.ajax
для загрузки XML-файла, я теряю объект this
.
Например, эта работа:
Plugin.prototype = {
defaults: {
message: 'Hello world!'
},
init: function() {
this.setStyleAndOptions();
return this;
},
setStyleAndOptions: function() {
alert("setStyleAndOptions : ");
}
}
Но это не так, я получаю сообщение об ошибке "this.setStyleAndOptions не определено":
Plugin.prototype = {
defaults: {
message: 'Hello world!'
},
init: function() {
$.ajax({
type: "GET",
url: "param.xml",
dataType: "xml",
success: this.initOptions
});
return this;
},
initOptions: function(dataxml) {
// Error occured here, I suppose "this" is not the plugin anymore
this.setStyleAndOptions();
},
setStyleAndOptions: function() {
alert("setStyleAndOptions");
}
}
Спасибо за вашу помощь.