Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Координаты мыши в Firefox 
:(
    Опции темы
PROCESSOR
Дата 20.4.2006, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 25.5.2005

Репутация: нет
Всего: нет



в опере и IE при onClick можно узнать windows.event.x  (y) , а в firefox как ?  

 
PM MAIL   Вверх
dstorm81
Дата 20.4.2006, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



<html>
<body onclick=alert(event.clientX+':'+event.clientY)>
</body>
</html>
вот так попробуй, должно помоч  

Это сообщение отредактировал(а) dstorm81 - 20.4.2006, 20:48


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
Burrr
Дата 21.4.2006, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Я пользую вот  такую ф-ию, работает в Gecko, Opera и FF (в других не проверял), с учетом скролла:
Код

function defPosition(event)
{
    if (document.attachEvent!=null){
        this.x = window.event.clientX + d.documentElement.scrollLeft + d.body.scrollLeft;
        this.y = window.event.clientY + d.documentElement.scrollTop + d.body.scrollTop;
    }
    if (!document.attachEvent&&document.addEventListener){
        this.x = event.clientX + window.scrollX;
        this.y = event.clientY + window.scrollY;
    }
    return {x:this.x,y:this.y};
}
  

Это сообщение отредактировал(а) Burrr - 21.4.2006, 09:28


--------------------
PM MAIL ICQ   Вверх
sergfaq
Дата 8.10.2007, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 19.9.2007

Репутация: нет
Всего: нет



Почему может ругаться в FF на строку 
mY = window.event.clientY
и даже 
alert(window.event.clientY);
PM MAIL   Вверх
dsCode
Дата 8.10.2007, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



sergfaq, зависит от того, кто в данный момент event (Вы мышкой кликаете?). А как ругается (кто там is not defined?)?

Добавлено через 48 секунд
Burrr, 
Цитата(Burrr @  21.4.2006,  09:27 Найти цитируемый пост)
d.documentElement.scrollLeft

а если documentElement не определен? Ошибка?


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
Avb
Дата 8.10.2007, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 5.7.2006

Репутация: 4
Всего: 13



sergfaq, в FF event не является свойством window, а передается в качестве аргумента функции.
Поэтому для FF в обработчике события:
mY = event.clientY;

В примере Burr-а есть четкое разделение браузеров. Поэтому в одном случае он юзает window.event, в другом просто event.

Если такого разделения не требуется, то обычно вначале функции делают 
Код

function defPosition(event)
{
var event = event || window.event;
...
}

чтобы кроссбраузерно получить объект события, и далее уже в коде всегда используют просто event.
PM MAIL   Вверх
armor85
Дата 10.11.2008, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Злой программер
*


Профиль
Группа: Участник
Сообщений: 246
Регистрация: 6.2.2007
Где: Сочи, блин!

Репутация: нет
Всего: -1



Здравствуйте,

а как узнать координаты мыши в FF на клик,
Код

function mousePageXY(e){
  var x = 0, y = 0;
  if (!e) e = window.event;
  if (e.pageX || e.pageY)  {
    x = e.pageX;
    y = e.pageY;
  }  else if (e.clientX || e.clientY)  {
    x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) -  document.documentElement.clientLeft;
    y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
  }
 tempX = x;
 tempY = y;
 return true;
}
document.onmousemove  = mousePageXY;



но обойтись без document.onmousemove  = mousePageXY;

в IE понятное дело рабоает, достаточно вызвать mousePageXY();
а в FF что нужно подставить под e?


Это сообщение отредактировал(а) armor85 - 10.11.2008, 13:53
PM MAIL   Вверх
Michael.de
Дата 11.11.2008, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 346
Регистрация: 22.3.2005
Где: Deutschland

Репутация: 2
Всего: 9



Код

<html>
<head>
<script type='text/javascript'>
function f(e){
 e=e||window.event;
 cX=e.clientX;
 cY=e.clientY;
 alert('X='+cX+', Y='+cY);
}
</script>
</head>
<body onclick='f(event);'></body>
</html>
оно?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.