Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.07.2012, 19:33
Кандидат Javascript-наук
Отправить личное сообщение для bayah Посмотреть профиль Найти все сообщения от bayah
 
Регистрация: 22.04.2010
Сообщений: 111

События: движение мыши при нажатой клавише
var down = 0;
var x = 0;
var y = 0;
Как отловить движение мыши при нажатой клавише?
Вот этот код вызывает бесконечное alert('move'). Почему это происходит? Почему отжатие мыши не вызывает присвоение down = 0
?
document.onmousedown = function(e) {
  e = e || window.event;
  down = 1;
  x = e.clientX;
  y = e.clientY;

  //alert(e.clientX);
  //alert(down);
}


document.onmouseup = function(e){
	e = e || window.event;
	down = 0;
	//alert(x);
}

document.onmousemove = function(e){
	e = e || window.event;
	if(down == 1){
		alert('move');
	/*
		var dx = e.clientX - x;
		var dy = e.clientY - y;
		alert(dx);
		*/
	}
	
}
Ответить с цитированием
  #2 (permalink)  
Старый 14.07.2012, 19:57
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

это происходит как раз из за alert('move')
при alert теряем mouseup
напишите
if(down == 1){document.body.innerHTML='move';
		}else
{document.body.innerHTML='no';}

будет нормально
Ответить с цитированием
  #3 (permalink)  
Старый 14.07.2012, 20:40
Кандидат Javascript-наук
Отправить личное сообщение для bayah Посмотреть профиль Найти все сообщения от bayah
 
Регистрация: 22.04.2010
Сообщений: 111

о - мерси, я думал таймер вешать на функцию, а почему так с алертом обстоит?
функция не идет дальше пока я не нажму "ок" в поле алерта? и есть же вроде способ параллельно пустить выполнение?
мне это в принципе не нужно именно, но хочу просто понять каков механизм.
Ответить с цитированием
  #4 (permalink)  
Старый 14.07.2012, 20:48
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от bayah Посмотреть сообщение
мне это в принципе не нужно именно, но хочу просто понять каков механизм.
Почему не могу точно сказать просто такими вещами-drop and drap(самописными)занимаюсь давно и знаю что алерт при mousemove нельзя использовать-событие mouseup не срабатывает
да и вообще лучше выводить в див инфу чем в алерт
Ответить с цитированием
  #5 (permalink)  
Старый 14.07.2012, 20:49
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от bayah Посмотреть сообщение
и есть же вроде способ параллельно пустить выполнение?
.
в javascript нет такой возможности
Ответить с цитированием
  #6 (permalink)  
Старый 15.07.2012, 16:29
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от vadim5june
напишите
if(down == 1){document.body.innerHTML='move';
        }else
{document.body.innerHTML='no';}

будет нормально
Портим body
Ответить с цитированием
  #7 (permalink)  
Старый 17.12.2012, 19:31
Интересующийся
Отправить личное сообщение для kolhoznik Посмотреть профиль Найти все сообщения от kolhoznik
 
Регистрация: 07.05.2012
Сообщений: 13

А проще события мыши нет? Мне нужно чтобы при движении мыши с нажатой клавишей выводилось сообщение!
Ответить с цитированием
  #8 (permalink)  
Старый 17.12.2012, 20:20
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<script>
down = 0;
onmousedown = function(){down = 1;}
onmousemove = function(){down ? alert(true) : 0;}
onmouseup = function(){down = 0;}
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 17.12.2012, 20:33
Интересующийся
Отправить личное сообщение для kolhoznik Посмотреть профиль Найти все сообщения от kolhoznik
 
Регистрация: 07.05.2012
Сообщений: 13

Окно сообщения (true) не закрывается а постоянно вылазит!
Ответить с цитированием
  #10 (permalink)  
Старый 17.12.2012, 20:58
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<script>
down = 0;
onmousedown = function(){down = 1;}
onmousemove = function(){if(down){alert(true); down = 0;}}
</script>

Последний раз редактировалось ruslan_mart, 17.12.2012 в 21:00.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Меню сворачивается при переводе мыши с заголовка к выпавшему содержимому EugenyK Events/DOM/Window 0 13.06.2009 17:05
Событие mouseout при наведении мыши на пункт меню WalterScott Events/DOM/Window 2 12.05.2009 22:05
Динамическое изменение размеров блока при наведении мыши! Viktor ------- Общие вопросы Javascript 7 05.05.2009 19:13
Срабатывание события при подведении к краю экрана Destrifer Общие вопросы Javascript 2 08.01.2009 15:12
FireFox: onmouseover не работает при зажатой кнопке мыши no. Общие вопросы Javascript 4 19.08.2008 13:43