Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   canvas ии события (https://javascript.ru/forum/events/12811-canvas-ii-sobytiya.html)

KOLANICH 04.11.2010 20:10

this в обычных условиях
объект, в методе которого находиимся

Sweet 04.11.2010 20:19

Не нужно гнать:) Событие и есть метод дом-объекта, так что this ведет себя нормально ("в обычных условиях" :) ).

KOLANICH 04.11.2010 20:24

function qwerty(){
this.abc=10;
.......
this.eventProcesser=function(evt){...}
canvas.addEventListener("click",this.eventProcesser,false);
}

var a=new qwerty();

как получить a из обработчика события?
window.a не предлагать

Sweet 04.11.2010 20:32

По-моему, это this-головного мозга... Как бы то ни было, у меня никогда таких проблем не возникало!

Sweet 04.11.2010 20:50

По-моему мнению, использование здесь конструктора - это явный бред.. Но это лирика. А по теме, не поверишь:
a.abc

KOLANICH 04.11.2010 21:04

а если у меня куча экземпляров а, все в разных переменных ?

а если я а как-то по другому назову?
нужно как-то почище

Sweet 04.11.2010 21:21

Ну раз так хочется через конструктор делать, придется сохранять this в локальную переменную. Тип того:
function qwerty(){
var that = this;
this.abc=10;
.......
this.eventProcesser=function(evt){
that.abc;
...}
canvas.addEventListener("click",this.eventProcesser,false);
}

var a=new qwerty();

KOLANICH 04.11.2010 21:41

спасибо
а то я пытался через свойство сделать, почему-то не получалось
function qwerty(){
....
this.eventProcesser=function(evt){
console.log(self);//window
}


this.eventProcesser.self=this;
	canvas.addEventListener("click",this.eventProcesser,false);
	
}


Часовой пояс GMT +3, время: 11:45.