Показать сообщение отдельно
  #1 (permalink)  
Старый 30.03.2012, 14:02
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

Множество событий на одном объекте
Всем привет. Пытаюсь повесить несколько одинаковых обработчиков на один объект.

<html>
<head>
<title></title>
<script>
function j(data) { return new operation(data); }
function operation(data) { 
  this.obj = data;
  this.stackMouseMove = [];
  return this;
}

operation.prototype.bind = function(func) {
	var self = this;
	this.stackMouseMove.push(func);
	if(!this.obj.onmousemove) this.obj.onmousemove = function() { self.mousemove(); };
};

operation.prototype.mousemove = function() {
  for(var i = 0; i <= this.stackMouseMove.length-1; i++) {
    this.stackMouseMove[i]();
  }
};


window.onload = function() { 
  j(document).bind(function() { document.getElementById('q').innerHTML = Math.floor( Math.random() * (10 - 1 + 1) ) + 1; });  
  j(document).bind(function() { document.getElementById('w').innerHTML = Math.floor( Math.random() * (10 - 1 + 1) ) + 1; }); 
};

</script>
	</head>
	<body>
	1. <span id="q">0</span><br>
	2. <span id="w">0</span><br>
	</body>
</html>


Но при каждом вызове j(document).bind(....) возвращается новый operation.
Подскажите, как решить эту проблему?
Ответить с цитированием