Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
34 / 34 / 2
Регистрация: 22.08.2010
Сообщений: 271
1

Получить координаты курсора в FireFox

29.06.2014, 13:52. Показов 4567. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
На сайте есть JavaScript код (использую библиотеку MooTools). Цель кода - при клике в пределах определенных элементов - получать текущие координаты курсора относительно окна браузера.
Вот сам код:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  <script>
    document.addEvent("domready", function(){
      var lis=$$("#images img");  //получаем все изображение в блоке с id=images
      
      lis.addEvent("click", function(){  // при клике по любому из выбранных изображений показать координаты курсора относительно окна браузера
        
        var xC=0;
        var yC=0;
        
        xC=window.event.x;
        yC=window.event.y;
 
        alert(xC+", "+yC);
      });
    });
 
  </script>
Проблема в том, что в Хроме и Опере код работает нормально, а в FireFox - ничего не показывает. Гугл пишет, что огнелис не поддерживает event, однако ни один из примеров мне не помог.
Может кто подскажет, как адаптировать мой код для получения координат в любом бразуере?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.06.2014, 13:52
Ответы с готовыми решениями:

Получить координаты курсора
Как получить координаты курсора мыши в конкрктный момент? &quot;e&quot; у меня нет так как я не в...

Как называется плагин для Firefox, определяющий координаты курсора мышки
Здравствуйте, подскажите пожалуйста как называется плагин на мазилу определяющий координаты курсора...

Как получить координаты курсора?
Добрый день. При Клике мышкой на кнопку, не могу получить координаты указателя, а при клике на...

Получить координаты курсора на мониторе
Всем Знатокам доброго времени суток! Как получить координаты курсора на мониторе я знаю -...

6
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,626
29.06.2014, 14:49 2
Javascript
1
2
3
4
5
6
lis.onclick = function (e)
{
var e = e || window.event, L = e.pageX || e.clientX,
                           T = e.pageY || e.clientY;
alert (L + ', ' + T);
}
0
34 / 34 / 2
Регистрация: 22.08.2010
Сообщений: 271
29.06.2014, 15:12  [ТС] 3
Сделал так:
Javascript
1
2
3
4
5
6
7
8
9
10
11
document.addEvent("domready", function(){
      var lis=$$("#images img");  //получаем все изображение в блоке с id=images
      
   lis.onclick = function (e)
{
var e = e || window.event, L = e.pageX || e.clientX,
                           T = e.pageY || e.clientY;
alert (L + ', ' + T);
}
 
    });
Не срабатывает ни в одном браузере.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,626
29.06.2014, 16:17 4
single_object.onclick = function (e) {...}

в чистом javascript'e функция назначается каждому элементу коллекции через цикл

а как это оформить для коллекции на собачьем языке JQuery - я не в курсе
0
 Аватар для zhibirc
650 / 235 / 77
Регистрация: 18.02.2013
Сообщений: 784
29.06.2014, 17:04 5
Попробуйте e.target.property_name. Вообще-то вы, по-вашим словам:
использую библиотеку MooTools
Разберитесь, как там навешиваются обработчики. Я думаю, что там уже реализовано кроссбраузерное получение объекта события.
Вообще, лично я считаю, что мешать в кучу код native JS и JS libraries некомильфо. И обратите внимание - раздел посвящен языку как таковому, а не надстройкам над ним, абстрагирующим от низкоуровневой механики.
0
48 / 87 / 11
Регистрация: 12.08.2013
Сообщений: 468
29.06.2014, 17:14 6
Цитата Сообщение от kalabuni Посмотреть сообщение
e.pageX || e.clientX и e.pageY || e.clientY;
и будут они по разному работать, если вернётся pageX(Y), координаты будут учитывать скрол, если clientX(Y), то координаты окна без учета скрола будут

тогда надо определиться либо так
Javascript
1
 pageX(или Y) - document.documentElement.scrollLeft(или Top) || clientX(или Y)
либо так
Javascript
1
pageX(или Y) || clientX(или Y) + document.documentElement.scrollLeft(или Top)
0
34 / 34 / 2
Регистрация: 22.08.2010
Сообщений: 271
29.06.2014, 17:53  [ТС] 7
Спасибо всем за ответы. В общем в итоге гугленья и совмещения сделал так:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<script>
   var xX;
    var yY;
    document.onmousemove = function(e){  //отслеживаем движение курсора и запоминаем в глобальные переменные
             var mCur = mousePageXY(e); 
             xX=mCur.x;
             yY=mCur.y;
     };
 
   function mousePageXY(e) // функция для определения координат курсора
    {
       var x = 0, y = 0;
       if (!e) e = window.event;
       x = e.clientX;
       y = e.clientY;
       return {"x":x, "y":y};
     }
  
     document.addEvent("domready", function(){
      var lis=$$("#images img");  //получаем все изображение в блоке с id=images
      
      lis.addEvent("click", function(event){  // при клике по любому из выбранных изображений показать координаты курсора относительно окна браузера
        
        var xC=0;
        var yC=0;
        
        var ua = navigator.userAgent;
        if (ua.search(/Firefox/) > 0){  // если ФФ - присваиваем значение из глобальных переменных
           xC=xX;
           yC=yY;
           
        }else{ // как и раньше, если не ФФ
 
         xC=window.event.x;
         yC=window.event.y;
        }
 
        alert(xC+", "+yC);
      });
    });
    
</script>
Может, конечно, в Москву через Владивосток, но в ФФ работает. Тут смысл в том, что можно усложнить функцию (ну то есть значения xC и yC получены в пределах одной функции и с ними можно делать что угодно).
0
29.06.2014, 17:53
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.06.2014, 17:53
Помогаю со студенческими работами здесь

Получить координаты курсора в внутреигровом пространстве
Здравствуйте, подскажите: нужно получить координаты курсора, но не экранные, а координаты в...

Как получить текущие координаты курсора?
Как получить текущие координаты курсора? Относительно правого верхнего угла окна (центра координат...

Получить координаты курсора внутри PictureBox
Добрый день! Помогите разобраться с проблемкой. Есть форма, на ней PictureBox. С помощью метода...

Как получить текущие координаты курсора?
Как получить текущие координаты курсора? (не в окне программы, а на всё мониторе)

Как получить координаты курсора мыши
1) как получить координаты курсора мыши? 2) как скрыть отображение мыши? 3) как установить...

Можно получить координаты курсора не используя Javascript?
мне нужно по клику на определенной ссылке (очень много ссылок) на странице (клик обрабатывается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
Объекты и их имена
hw_wired 28.01.2025
Введение: Основы объектного подхода и их роль в информатике В современном мире информационных технологий объектный подход стал фундаментальным принципом организации и обработки информации. Этот. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru