Значения offsetLeft и offsetTop тега AREA работают в IE, но в Chrome и Firefox выглядят неработающими - PullRequest
0 голосов
/ 13 октября 2011

У меня есть простая карта изображения:

<img alt="Image" src="./TestImage.jpg" usemap="#myMap" />
<map name="myMap" id="myMap">
    <area id="Fox" alt="Fox" shape="rect" coords="344,0,530,170" />
    <area id="Grass" alt="Grass" shape="rect" coords="80,160,250,280" />
</map>

Я использую jQuery для подключения обработчика события наведения мыши:

$(window).load(function () {
$('div map area').mouseover(function (e) {
    ...
}

Я проверяю смещение элемента:

var offset = $(this).offset();

При наведении курсора на ОБЛАСТЬ Лисы я вижу следующее:

  • IE возвращает правильные значения: (344, 0)
  • Chrome сообщает мне, что смещение равно (0,0)
  • Firefox сообщает мне, что смещение равно (8, 76,8333 ...)

Почему Chrome и Firefox возвращают неверные значения и могу ли я что-нибудь сделать, чтобы обойти эту проблему?

1 Ответ

1 голос
/ 13 октября 2011

Вы можете получить атрибут "координаты" напрямую:

var coords = $(this).attr('coords').split(',');
...