Возможно ли это? Я пытаюсь перезаписать метод javascript после загрузки моей страницы. Код в вопросе выглядит примерно так:Возможно переписать метод, используемый в обратном вызове?
myObject = Backbone.ViewManager.BaseView.extend({
myMethod: function() {
alert("in old method definition");
},
initialize: function() {
var a = this;
Our.Events.on("alertEvent", function(){
a.myMethod();
}
}
);
(Backbone.ViewManager
битого это просто способ для создания объекта в JavaScript с помощью рамки и не важен.)
Примечания обратного вызова события, определенного выше в метод initialize
. Мы инициализируем объекты, как только они создаются.
Загрузив свою страницу, я попытался переопределить myMethod
, чтобы предупредить о другом сообщении. Но когда появляется сообщение alertEvent
, в предупреждении появляется исходное сообщение.
Я предполагаю, что это связано с закрытием, что переопределение метода на myObject
после его инициализации не повлияет на определение, на которое указывает a
? Если это так, есть ли что-то, что я могу сделать, чтобы изменить определение, используемое a
, или мне не повезло?
Он должен работать - показать нам пример, воспроизводящий (jsfiddle ссылка или стек сниппета). –