Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Координаты мыши за пределеми документа (https://javascript.ru/forum/dom-window/25471-koordinaty-myshi-za-predelemi-dokumenta.html)

lenden31 06.02.2012 15:49

Координаты мыши за пределеми документа
 
Интересует как узнавать координаты мыши за пределами окна/документа или хотя бы узнавать, что курсор вышел за пределы. Везде пишут что средствами javascript это невозможно, но тогда как это реализовано здесь http://marqueetool.net/examples/comm...-marquee-tool/

Serg_pnz 06.02.2012 15:59

Если координата мыши == 0 или максимальному размеру видимой области...
Наверное как-то так.

lenden31 06.02.2012 16:01

ммм хорошая идея кстати.. но не стопроцентная.. нельзя отличить от реального положения мыши скраю.. приходит в голову повесить таймаут, типа если мышь некоторое время на минимальной-максимальной координате - значит она за пределами, тоже не стопроцентно, но уже что-то.

lenden31 06.02.2012 16:02

ну хотя на этом сайте координаты отлично перехватываются и за пределами документа, область меняется ведь( так что хотелось бы узнать как так сделать

Kolyaj 06.02.2012 16:16

При нажатой клавише мыши некоторые браузеры посылают mousemove даже если мышка за пределами окна. Ничего дополнительно для этого делать не надо.

lenden31 06.02.2012 16:36

ну мозила в моём элементарном коде этого не делает, а на этом сайте координаты отлично перехватываются где угодно

Kolyaj 06.02.2012 16:39

Значит что-то с кодом не то, у меня всегда делала.

lenden31 06.02.2012 16:51

<html>
	<head>
		<title></title>
	</head>
	<body>
	
		<input type="text" id="mouseX">
		<input type="text" id="mouseY">
		
		<script language="javascript" type="text/javascript">
			function mouseShowHandler(e){
				e = e || window.event
		 
				
	 
				document.getElementById('mouseX').value = e.screenX
				document.getElementById('mouseY').value = e.screenY
			}
			
			document.addEventListener('mousemove', mouseShowHandler);
		</script>
	
	</body>
	
</html>



куда уж проще.. но тем не менее за границами области уже не меняются координаты

Serg_pnz 06.02.2012 16:59

Цитата:

Сообщение от lenden31 (Сообщение 155757)
<html>
	<head>
		<title></title>
	</head>
	<body>
	
		<input type="text" id="mouseX">
		<input type="text" id="mouseY">
		
		<script language="javascript" type="text/javascript">
			function mouseShowHandler(e){
				e = e || window.event
		 
				
	 
				document.getElementById('mouseX').value = e.screenX
				document.getElementById('mouseY').value = e.screenY
			}
			
			document.addEventListener('mousemove', mouseShowHandler);
		</script>
	
	</body>
	
</html>



куда уж проще.. но тем не менее за границами области уже не меняются координаты

Тестил на двухмониторном столе - всё работает. Да и если полуоткрытое окно - работает.

Serg_pnz 06.02.2012 17:01

Цитата:

Сообщение от Kolyaj (Сообщение 155744)
При нажатой клавише мыши...

//тут тег цвета есть?))


Часовой пояс GMT +3, время: 04:31.