Мне нужно обрабатывать события мыши на странице, где несколько объектов неправильной формы (например, дома) сложены друг на друга. Если я использую обычный способ делегирования события jQuery .on (), источник события, о котором сообщают, всегда будет самым верхним объектом, даже если пользователь нажал на прозрачную часть объекта (или изображение).
Пример: тег, содержащий красный треугольник, всегда будет источником события, даже если я нажму на позицию X.
Я могу обнаружить, что щелчок мыши находится не внутри треугольника. Что мне нужно, так это способ "переслать" событие в зеленый треугольник ниже.
РЕДАКТИРОВАТЬ: Мой текущий подход заключается в том, чтобы перехватывать события в большом div, который охватывает все, затем использовать селектор jQuery и сравнивать координаты, чтобы выяснить, какой объект находится под мышью, а затем проверить, находится ли мышь в прозрачной части или нет. Он работает нормально, но кажется медленным и потребляет много памяти, особенно при непрерывном запуске событий перемещения мыши.
РЕДАКТИРОВАТЬ 2:
Это изображение было извлечено из Сборка игрового движка с jQuery , и мой подход был почти таким же. А теперь вот вопрос: