отмена события mouseout при наложении элемента - PullRequest
3 голосов
/ 13 июня 2011

Надеюсь, этот JSFiddle лучше проиллюстрирует проблему, чем мои слова:

http://jsfiddle.net/pmwRc/6/

Я отображаю абсолютно позиционированный H4 в качестве метки на карте изображения, когда карта наведена. Однако, когда указатель мыши перемещается над H4, карта изображения запускает указатель мыши, в результате чего H4 снова скрывается.

Как я могу предотвратить это? Я хочу, чтобы метка была видимой, когда указатель мыши находится над картой изображения, независимо от того, находится ли она над меткой.

Ответы [ 3 ]

1 голос
/ 13 июня 2011

Я знаю, что это не совсем то же самое, но я изменил вашу скрипку и получил рабочую альтернативу, просто без карты изображения;) (зависание в середине буквы «G» и первого «o»)

http://jsfiddle.net/pmwRc/31/

Вы можете использовать атрибут style для определения координат в чистой разметке, если требуется:

http://jsfiddle.net/pmwRc/33/

1 голос
/ 13 июня 2011

Вы могли бы «обмануть», используя прозрачное изображение / слой (используя вашу карту), которое расположено поверх вашего изображения.

http://jsfiddle.net/GRPQa/7/

Работает с использованием координат карты изображения.

0 голосов
/ 13 июня 2011
function doSomething(e) {
    if (!e) var e = window.event;
    var tg = (window.event) ? e.srcElement : e.target;
    if (tg.nodeName != 'DIV') return;
    var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
    while (reltg != tg && reltg.nodeName != 'BODY')
        reltg= reltg.parentNode
    if (reltg== tg) return;
    // Mouseout took place when mouse actually left layer
    // Handle event
}

См. http://www.quirksmode.org/js/events_mouse.html

...