Jquery prop仅在第一个&x27;鼠标盖';事件
我正在使用引导工具提示在鼠标上方显示地图标记的标题。我用“道具”来设置标题 问题在于,工具提示标题属性仍然设置为鼠标经过的第一个标记Jquery prop仅在第一个&x27;鼠标盖';事件,jquery,google-maps,twitter-bootstrap-3,Jquery,Google Maps,Twitter Bootstrap 3,我正在使用引导工具提示在鼠标上方显示地图标记的标题。我用“道具”来设置标题 问题在于,工具提示标题属性仍然设置为鼠标经过的第一个标记 markers[id].addListener('mouseover', function () { console.log(markers[id].title); /* get marker pixel position */ var proj = overlay.getProjection(); var pos = marker
markers[id].addListener('mouseover', function () {
console.log(markers[id].title);
/* get marker pixel position */
var proj = overlay.getProjection();
var pos = markers[id].getPosition();
var p = proj.fromLatLngToContainerPixel(pos);
/* show tooltip */
$("#tooltip").css("left", p.x + "px").css("top", (p.y + 20) + "px").prop('title', markers[id].title).tooltip('show');
});
请参见fiddle-请参见,您所做的有一个基本问题,那就是您对引导
.tooltip()
工作原理的理解。
无论如何,下面是您可以做的,删除元素并重新插入它,即
marker.addListener('mouseover', function () {
var tooltip = $('#tooltip');
/* get marker pixel position */
var proj = overlay.getProjection();
var pos = marker.getPosition();
var p = proj.fromLatLngToContainerPixel(pos);
//recreate tooltip
tooltip.remove();
tooltip = $(' <div id="tooltip" title="'+ marker.title+'"></div>');
$('#map').after(tooltip);
//add new orientation
tooltip.css({"left": p.x + "px", "top": (p.y + 10) + "px"});
tooltip.tooltip();
tooltip.tooltip('show');
});
marker.addListener('mouseover',函数(){
变量工具提示=$(“#工具提示”);
/*获取标记像素位置*/
var proj=overlay.getProjection();
var pos=marker.getPosition();
var p=LatlNgtoContainerPixel(位置)项目;
//重新创建工具提示
工具提示。删除();
工具提示=$('');
$(“#映射”)。之后(工具提示);
//添加新方向
css({“左”:p.x+“px”,“顶”:(p.y+10)+“px”});
tooltip.tooltip();
工具提示。工具提示(“显示”);
});
见
您可以尝试的其他选项包括
infowindow
并向其注入您自己的自定义(看起来像引导工具提示)html,为什么要重新发明轮子?(强烈推荐)问题在于,一旦工具提示初始化,它就会存储标题,并且不会在每次显示时从
title
属性中获取标题。如果您想在不破坏工具提示的情况下更改工具提示的标题,请参阅@Stryner ah yes,谢谢1。我将显示多达2048个标记,您仍然推荐吗?2.我将使用infowindow获取更多内容。哦,所以鼠标悬停时显示内容1,单击时显示内容2,不,不,你很好:)