Показать сообщение отдельно
  #1 (permalink)  
Старый 11.11.2009, 20:00
Новичок на форуме
Отправить личное сообщение для Крот Посмотреть профиль Найти все сообщения от Крот
 
Регистрация: 11.11.2009
Сообщений: 5

Как правильно вызвать метод внутри класса?
Привет.

Задача: Есть div c id="uid", при наведении на него мышкой - содержимое div'а должно меняться на "Курсор находится на мне!". Если после этого убрать курсор - содержимое должно меняться на "Вы убрали курсор". Реализовать нужно через "класс", без использования глобальных переменных.

Вроде бы всё сделал, но никак не получается внутри класса забиндить собитие для элемента, которое бы вызывало один из методов класса.

PS: Для биндинга event'ов и операций с DOM - использую jQuery.

<div id="uid">Наведи на меня мышку...</div>

<script>
	function MyClass(el) {

		this.el = el;
		this.privet = "Курсор находится на мне!";
		this.poka = "Вы убрали курсор!";
		
		/* Вот тут я пытаюсь забиндить вызов метода класса на убирание курсора с элемента. */
		this.el.mouseleave(function() {
			this.sayPoka();
		});
		
		this.sayPrivet = function() {
			this.el.html(this.privet);
		}
		
		this.sayPoka = function() {
			this.el.html(this.poka);
		}
		
	}

	$("#uid").mouseenter(function() {
	
		my_class = new MyClass($(this));
		my_class.sayPrivet();
	
	});
</script>


Подскажите пожалуйста как лучше сделать?
Возможно что-то вообще неправильно делаю, не лучшим образом.

Спасибо!

Последний раз редактировалось Octane, 12.11.2009 в 10:39. Причина: используйте теги [html] и [js] для оформления кода
Ответить с цитированием