0

请看附图:在此处输入图像描述

html(我只是把它分成 3 行,这样你就不必向右滚动了):

<!-- MapServer Template -->
<area shape="circle" coords="[shpxy precision=0 proj=image yf=",7" xf=","]"
title="[name]" alt="[name]" onmouseover='displayCityInfo("[name]"); 
displayToolTip();' onmouseout="hideCityInfo()">

jQuery:

function displayToolTip() {
                    $( document ).tooltip({track: true, items: '[title]', content: getContent});
            }

            function getContent() {
                    var element = $(this);
                    if (element.is('[tooltip]')) {
                            var src = element.attr('tooltip');
                            return '<img src="' + src + '" width="100">';
                    }
                    if (element.is('[title]')) {
                            return element.attr('title');
                    }
            }

问题:

我不确定为什么基本上会有“双悬停”。如果我只是在地图上快速移动鼠标,名称就会在左上角堆叠在一起。

1)我不希望左上角有任何工具提示。

2)我只想将鼠标悬停在一个黄金点上,然后出现工具提示。正如您在图像中看到的那样,这正在发生……有点。

3)不要介意蓝绿色的矩形。

目标:

删除左上角的工具提示,当您将鼠标悬停在黄金点上时,只有工具提示。

对此事的任何意见表示赞赏。我正在查看文档,但我不确定我做错了什么。

4

1 回答 1

0

工具提示是其中之一,它永远不会按照您期望的方式工作,并且最终花费的时间比您预期的要多得多。涉及很多因素,但最臭名昭著的是时间和浏览器类型和版本。

时间问题:如果您悬停的元素在渲染时具有 alt 或 title 属性,则一旦触发悬停事件并调用侦听器,则为时已晚,无论您当时做什么,都会显示默认工具提示。有时,您可能会很幸运并使用 aevent.preventDefault()或浏览器等价物来解决它。

浏览器问题:不出所料,许多版本的 IE(7、8、9)一旦呈现 alt 或 title 属性,就无法阻止它显示默认工具提示。有几种解决方法,但大多数包括从 html 本身中删除 alt 和 title 属性(即在浏览器有机会看到它之前)并使用 xhr 获取工具提示的文本内容。

希望这可以帮助。

于 2013-11-26T01:27:59.377 回答