Показать сообщение отдельно
  #9 (permalink)  
Старый 10.04.2010, 12:34
Интересующийся
Отправить личное сообщение для Gloft Посмотреть профиль Найти все сообщения от Gloft
 
Регистрация: 10.05.2009
Сообщений: 13

Код в первом сообщении я привел как для примера.
В моем случае мне нужно было разделять эти события для управяления меню.
Меню можно переместить (события onmousedown, onmousemove, onmouseup) и свернуть развернуть (событие onclick/ondblclick).
И все это на одном элементе.

Вот пример решения проблемы который был приведен мной в первом сообшении:
var master = (function() {
   // функция обработки события onDblClick
   function mouseOnDblClick(){
      alert('mouseClick');
      return false;
   }

   // функция обработки события onMouseMove
   function mouseMove(){
      alert('mouseDown and mouseMove');
      return false;
   }

   // функция обработки события onMouseUp
   function mouseUp(){
		// очистить обработчики, т.к перенос закончен
		document.onmousemove = null;
		document.onmouseup = null;
		document.ondragstart = null;
		document.body.onselectstart = null;
   }


	function mouseDown(){
		document.onmousemove = mouseMove;
		document.onmouseup = mouseUp;
      document.onclick = mouseOnDblClick;

		// отменить перенос и выделение текста при клике на обьекте
		document.ondragstart = function() {return false};
		document.body.onselectstart = function() {return false};

		return false;

	}

	return {
		makeDraggable: function(element){
			element.onmousedown = mouseDown;
		}
	}
}());

document.write("<div id='test'>Test onClik and onMouseDoun</div>");
master.makeDraggable(document.getElementById('test'));
Ответить с цитированием