Перейти к содержимому

Фотография

Координаты мышив firefoxe в JavaScript


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1
PNf

PNf
  • Завсегдатай
  • 118 сообщений
Как узнать x и y координату мыши в firefox с помощью JavaScript. Желательно координаты мыши относительно страницы.

Сообщение отредактировал PNf: 14.03.2007, 20:48:21

  • 0

#2
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений

<script>

var $ = new Array(); // глобальная переменная



$['mouseX'] = 0;

$['mouseY'] = 0;



document.onmousemove=function(e)

{

	$['mouseX'] = e.pageX;

	$['mouseY'] = e.pageY;

	return true;

}

</script>



<div onClick="alert($['mouseX'] )">Click</div>


  • 0

#3
PNf

PNf
  • Завсегдатай
  • 118 сообщений
Спасибо.
А есть ли какой-нить код который правильно работал во всех 3(я имею ввиду опера лиса и ие). но без разбора отдельных случаев браузера. верхнее не работает к примеру в ие. код event.clientX не работает в лисе.
Так как сделать чтоб везде работало?
  • 0

#4
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений
<script>
var $ = {
	'mouseX'	  : 0,
	'mouseY'	  : 0,
	'userAgent'   : function()
	{
		// как определять браузеры, знает Яндекс
		return 'msie';
	} 
}

switch ($.userAgent()) {
	case 'msie':
		document.onmousemove = function()
		{
			$.mouseX = event.clientX + document.body.scrollLeft;
			$.mouseY = event.clientY + document.body.scrollTop;
			return true;
		}
		break;

	case 'opera':
		document.onmousemove = function()
		{
			$.mouseX = event.clientX;
			$.mouseY = event.clientY;
			return true;
		}
		break;

	case 'gecko':
		document.onmousemove = function(e)
		{
			$.mouseX = e.pageX;
			$.mouseY = e.pageY;
			return true;
		}
		break;
}
</script>
<div onClick="alert($.mouseX)">asd</div>


Так как сделать чтоб везде работало?

см. выше
  • 0

#5
PNf

PNf
  • Завсегдатай
  • 118 сообщений
такой я способ бы сам придумал :)
я о том. существует ли универсальное что либо. честно говоря - чисто для интереса :rotate:
  • 0

#6
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений

такой я способ бы сам придумал :rolleyes:
я о том. существует ли универсальное что либо. честно говоря - чисто для интереса :D

Самые лучшие решения - простые решения (с)

Задайте точнее вопрос, что понимается под "существует ли универсальное что либо"?
  • 0

#7
PNf

PNf
  • Завсегдатай
  • 118 сообщений
То есть не разбирать случаи различных браузеров, а найти какое-либо множество событий, свойств, объектов работающих в опере, ие и геко.
Так нормально)?
Все равно огромное спасибо.
  • 0

#8
MX_Master

MX_Master
  • Частый гость
  • 70 сообщений
Это вряд ли, я ваще даже человеческого справочника по яваскрипту не видел, тяжело найти что-то нужное, когда об этом нигде не написано. Что уж говорить про универсальные средства, когда у каждого браузера есть свои объекты, фуньки и способы обработки кода. Вот если б был единый железный формат, тогда можно было бы не париться.

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

#9
kornel

kornel
  • В доску свой
  • 9 069 сообщений
По яваскрипту то справочник в одном флаконе найти не проблема... в нем будет описан синтаксис языка... 2 дюжины функций и методов и всё.
Проблема в том, что браузеры используют объект document и его методы (и остальную мелочь), который не может входить в язык javascript, т-к является имплементацией именно веб браузеров.
Ну а про то, что IE вообще поддерживает не javascript а jscript, это отдельный разговор :D
  • 0

#10
T. Anre

T. Anre

    Data Miner

  • В доску свой
  • 2 327 сообщений

event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft));

event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop));


  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.