Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.05.2009, 11:43
Аватар для MaxPayne
Аспирант
Отправить личное сообщение для MaxPayne Посмотреть профиль Найти все сообщения от MaxPayne
 
Регистрация: 11.04.2009
Сообщений: 39

Отслеживание щелчка мыши
Недавно задался таким вопросом:

К примеру, на странице есть один див. Можно ли отследить куда был сделан щелчок мыши - по диву или в остальную область браузера?
Например: щелчок по диву - вывод сообщения "Щелкнул по див" (как это реализовать мне ясно ), щелчок по остальной части окна браузера - вывод сообщения "Щелкнул не по диву" (это неизвестно!).

Сначала хотел отслеживать щелчок по координатам, ибо известно где див находится. Но дивов ведь может быть несколько и использовать координаты будет проблематично.

Подойдет ли тут какая-нибудь модификация window.onclick? Или есть что-то другое?
Ответить с цитированием
  #2 (permalink)  
Старый 01.05.2009, 11:57
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Более простой способ: все тот же e.stopPropagation, о котором тебе уже известно, вызываемый в обработчике для div-а.
Более сложный способ: берешь (e.target || e.srcElement) и, перебирая parentNode-ы, сравниваешь div с каждым parentNode. Если наткнулся на свой div, значит клик по div-у, если дошел до body значит вне div-а.

У более сложного способа плюс в том, что можно обойтись одним обработчиком вместо двух.
Ответить с цитированием
  #3 (permalink)  
Старый 01.05.2009, 12:20
Аватар для MaxPayne
Аспирант
Отправить личное сообщение для MaxPayne Посмотреть профиль Найти все сообщения от MaxPayne
 
Регистрация: 11.04.2009
Сообщений: 39

Спасибо большое! Выберу второй путь, ибо опыт с первым путем не особо удачный =)

Нашел пример (правда работает только в IE) - http://dunaevv1.narod.ru/koords.htm
Буду работать над кроссбраузерностью.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имитация нажатия кнопки мыши Mantell Общие вопросы Javascript 3 19.02.2009 16:03
Получить координаты мыши alekciy Events/DOM/Window 2 27.12.2008 23:07
Состояние мыши в firefox DenisK Firefox/Mozilla 3 13.12.2008 03:16
Как имитировать событие мыши Andrey_V Общие вопросы Javascript 4 10.11.2008 15:39
FireFox: onmouseover не работает при зажатой кнопке мыши no. Общие вопросы Javascript 4 19.08.2008 12:43