Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как запретить обрабатывать событие (https://javascript.ru/forum/events/16118-kak-zapretit-obrabatyvat-sobytie.html)

nwseo 27.03.2011 03:04

Как запретить обрабатывать событие
 
Пожалуйста, помогите!
Есть картинка "а" и картинка "б". "б" расположена над "а". Как сделать, чтоб при клике по картинке "б" обрабатывалось событие onclick картинки "а"?

Sweet 27.03.2011 03:57

В таких случаях обработчик вешается на родительский элемент картинок, а там уже можно определить на какой именно картинке произошел клик и пр. Пример:
<style>
img { position: absolute; }
</style>
<div id="example">
  <img src="http://javascript.ru/forum/images/smilies/help.gif" id="img1">
  <img src="http://javascript.ru/forum/images/smilies/write.gif" id="img2">
</div>
<script>
document.getElementById('example').onclick = (function(){
  var imgs = {
        img1: document.getElementById('img1'),
        img2: document.getElementById('img2')
      }, current = 'img1';

  imgs.img2.style.display = 'none';

  return function(){
    imgs[ current ].style.display = 'none';
    current = current === 'img1' ? 'img2' : 'img1';
    imgs[ current ].style.display = '';
  };
}());
</script>

nwseo 27.03.2011 04:00

Не, не помогло. "Нижняя картинка" это многоугольная area, и мне необходимо обработать onclick именно для этого многоугольника.
Проблему хорошо иллюстрирует вот этот документ - http://bruslandiya.ru/genplan/ На косых изображениях, наложенных поверх map, возникает указанная проблема, т.к. onclick возникает и в прозрачных областях изображения.


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