Показать сообщение отдельно
  #1 (permalink)  
Старый 26.05.2016, 17:47
Новичок на форуме
Отправить личное сообщение для Flakky Посмотреть профиль Найти все сообщения от Flakky
 
Регистрация: 12.05.2016
Сообщений: 8

ошибка this.myfunction is not a function внутри события
Приветствую всех. Суть следующая:

Есть класс объявленный через function(){}, внутри него через this. объявлены функции. В одной из функции я бинжу событие на элемент и вызываю другую функцию при срабатывании. Причем функцию вызываю из этого-же класса через this.myfunction().

Проблема в том, что при срабатывании события, браузер печатает ошибку, что функция не является функцией. При этом если просто вызвать функцию, то все работает..

Код примерно такой:

function MyClass(){

	this.elem = document.getElementById('someelem');
	this.myvar;

	this.myfunc1 = function(){
		this.myfunc2(); // Работает
	
		this.elem.addEventListener("mousedown", function(event){
			this.myfunc2(); // Не работает. Выдает ошибку "is not a function"
			this.myvar = 25; // Простая переменная работает
		}, false);

	};

	this.myfunc2 = function(){
	do something...
	};

};


В гугле пробовал искать, ничего не нашел.

Пробовал так же забиндить через "this.elem.onmousedown = function(){this.myfunc2();};", но тоже не помогает(

Собственно вопрос в том, как мне забиндить внутреннюю функцию на событие?

Последний раз редактировалось Flakky, 26.05.2016 в 17:51.
Ответить с цитированием