Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.02.2013, 13:58
Интересующийся
Отправить личное сообщение для yambbkru Посмотреть профиль Найти все сообщения от yambbkru
 
Регистрация: 22.08.2011
Сообщений: 28

Событие event в FireFox
Перечитала уже много об этом, в том числе и на этом сайте, но не могу понять одну вещь на счет события event.
Я нашла код на одном из форумов, который позволяет двигать объекты мышью.

<html>
<head>
</head>
<body>
	<script type="text/javascript" charset="utf-8">
		var DragObject;
		var OffsetX, OffsetY;
		var isDragging = false;

		window.onload = function() {
			var o = document.getElementById("obj01");
			o.style.position = "relative";
			o.style.left = "0px";
			o.style.top = "0px";
		}
		
		function mouseDown(o, e) {
			DragObject = o;
			DragObject.ondrag = function() {return false;}
			DragObject.onselectstart = function() {return false;}
			if (window.event) {e = window.event;}
			var oX = parseInt(DragObject.style.left);
			var oY = parseInt(DragObject.style.top);
			var mouseX = e.clientX;
			var mouseY = e.clientY;
			OffsetX = mouseX - oX;
			OffsetY = mouseY - oY;
			isDragging = true;
			return false;
		}

		document.onmousemove = function (e) {
			if (!isDragging) {return;}
			if (window.event) {e = window.event;}
			var mouseX = e.clientX;
			var mouseY = e.clientY;
			var newX = mouseX - OffsetX;
			var newY = mouseY - OffsetY;
			DragObject.style.left = newX + "px";
			DragObject.style.top = newY + "px";
			return false;
		}

		document.onmouseup = function() {
			if (!isDragging) {return;}
			isDragging = false;
			return false;
		}

	</script>
<input type="button" id="obj01" onmousedown="javascript:mouseDown(this, event)">
</body>
</html>


Если вызвать событие onmousedown с javascript, например так:

o.onmousedown = mouseDown(o, event);


то работает во всех браузерах, кроме FireFox!!! Я так понимаю, что не появляется событие event или не так как надо...
Что не правильно? Подскажите, пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 12.02.2013, 14:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,156

yambbkru,
Вариант...
<html>
<head>
</head>
<body>
	<script type="text/javascript" charset="utf-8">
		var DragObject;
		var OffsetX, OffsetY;
		var isDragging = false;

		window.onload = function(e) {
			var o = document.getElementById("obj01");
            o.onmousedown = function (event)
{
        mouseDown(o, event);
}
			o.style.position = "relative";
			o.style.left = "0px";
			o.style.top = "0px";
		}

		function mouseDown(o, e) {
			DragObject = o;
			DragObject.ondrag = function() {return false;}
			DragObject.onselectstart = function() {return false;}
		   	if (window.event) {e = window.event;}
			var oX = parseInt(DragObject.style.left);
			var oY = parseInt(DragObject.style.top);
			var mouseX = e.clientX;
			var mouseY = e.clientY;
			OffsetX = mouseX - oX;
			OffsetY = mouseY - oY;
			isDragging = true;
			return false;
		}

		document.onmousemove = function (e) {
			if (!isDragging) {return;}
			if (window.event) {e = window.event;}
			var mouseX = e.clientX;
			var mouseY = e.clientY;
			var newX = mouseX - OffsetX;
			var newY = mouseY - OffsetY;
			DragObject.style.left = newX + "px";
			DragObject.style.top = newY + "px";
			return false;
		}

		document.onmouseup = function() {
			if (!isDragging) {return;}
			isDragging = false;
			return false;
		}

	</script>
<input type="button" id="obj01" >
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 12.02.2013, 16:19
Интересующийся
Отправить личное сообщение для yambbkru Посмотреть профиль Найти все сообщения от yambbkru
 
Регистрация: 22.08.2011
Сообщений: 28

Спасибо, огромное!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как создать event, эмулирующий enter Artanis Events/DOM/Window 7 16.07.2019 06:40
Инкапсуляция, чтение файла и event в firefox platedz Events/DOM/Window 45 01.04.2013 02:30
Не работает аудио Firefox oliverair Firefox/Mozilla 5 06.02.2013 20:36
event + setTimeout fsingle Events/DOM/Window 2 02.05.2012 08:07
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 10:46