Я пытаюсь создать класс додзё, который содержит функции, которые, в свою очередь вызывать другие функции в этом классе, а именно:Вызов методов объекта внутренне в додзё
dojo.provide("my.drawing");
dojo.declare("my.drawing", null, {
constructor: function(/* Object */args){
dojo.safeMixin(this, args);
this.container = args[0];
},
addPoint: function(event){
//calculate the x and y values by offsetting correctly
var pos = dojo.coords(container);
var x = event.clientX - pos.x;
var y = event.clientY - pos.y;
this.addAbsPoint(x,y);
},
addAbsPoint: function(x,y){
//do something here with the absolute x and y values
}
});
выше (обрезается) код, чтобы добавить наведите на поверхность dojo.gfx. Когда я пытаюсь запустить его я получаю следующее сообщение об ошибке консоли:
Uncaught TypeError: Object #<an HTMLDivElement> has no method 'addAbsPoint'
Функция addPoint (событие) вызывается правильно, но это не удается, когда он пробует ссылаться на функцию addAbsPoint (х, у) в том же объект. Возможно ли это в додзё? Как я могу это сделать?
Отлично, спасибо за быстрый, полный и краткий ответ. Это сработало полностью. Я полностью упустил сторону обработки событий, потому что произошла ошибка, пытаясь получить доступ ко второму методу, надеюсь, не ошибка, которую я скоро буду делать! – spikeheap
также стоит указать, что использование переменной 'container' в вышеуказанной функции addPoint не имеет источника. Вероятно, это будет.контейнер – dante