Определить, какое изображение с изображением было нажато - PullRequest
0 голосов
/ 03 мая 2010

Если у вас есть несколько изображений, которые совместно используют одну и ту же карту изображений, есть ли какой-нибудь способ определить, какое изображение было нажато, когда пользователь нажимает на изображение?

Я создал небольшое приложение javascript, в котором здания (простые изображения) размещаются на карте и их можно перетаскивать. Когда пользователь нажимает на здание, его можно легко найти с помощью e.target, а затем перетаскивать. Однако при добавлении карты изображений (для повышения точности кликов) e.target больше не работает. Есть ли еще способ узнать, какое изображение было нажато? Кажется немного странным, что javascript не может обнаружить, что изображение было нажато, когда это изображение использует карту изображений?

Итак, если у вас есть два изображения, каждое из которых использует usemap = "samemap", как узнать, какое из двух было нажато при запуске карты изображения?

1 Ответ

0 голосов
/ 07 мая 2010

Я нашел решение этой проблемы с помощью document.elementFromPoint (x, y). Это просто говорит, какой элемент лежит в данной координате. Улавливая координаты щелчка мышью при нажатии на карту изображений, это можно использовать для поиска изображения, которое находится ниже карты изображений. Для Opera и Firefox elementFromPoint выдает изображение, даже когда изображение еще там. Для Internet Explorer и Google Chrome мне пришлось временно отключить карту изображений, использовать document.elementFromPoint и снова включить карту изображений.

Узнав об этом, я переключился на другой метод, но, возможно, он кому-то поможет.

...