在我的应用程序中,我在仪表板上有一张巨大的地图,当我加载ajax内容时,我正在放置标记。每个标记都有专门设计的信息框,其中我有一个有两个分支的链接:
在鼠标悬停时,我希望工具提示打开,鼠标输出我希望它关闭,点击我希望有三件事:
问题在于鼠标悬停和鼠标移动时,工具提示按预期运行,但是当我点击链接时,信息框关闭,fancybox打开但工具提示没有关闭,它会丢失父连接而永远不会关闭。 / p>
以下是我的代码:
var infowindow_options = {
content: '...<a class="bind_tooltip">...</a>...',
disableAutoPan: false,
maxWidth: 0,
alignBottom: true,
pixelOffset: new google.maps.Size( 10, 10 ),
zIndex: null,
boxClass: 'info_window',
closeBoxMargin: '10px 10px 0 0',
closeBoxURL: 'http://www.google.com/intl/en_us/mapfiles/close.gif',
pane: 'floatPane',
enableEventPropagation: true,
infoBoxClearance: '10px',
position: mrkr.position
};
google.maps.event.addListener( mrkr, 'click', function() {
infowindow ? infowindow.close() : '';
infowindow = new InfoBox( infowindow_options );
infowindow.open( map );
return false;
} );
google.maps.event.addListener( map, 'click', function() {
if( infowindow ) {
infowindow.close();
$( '.bind_tooltip' ).tooltip( 'close' );
}
return false;
} );
$( document ).tooltip( {
items: '.bind_tooltip',
content: function() {
return $( this ).parent().find( '.tooltip' ).html();
},
position: {my: 'left top+10', at: 'center center'}
} );
我也收到此错误:
错误:在初始化之前无法在工具提示上调用方法;试图调用方法'关闭'
答案 0 :(得分:0)
在脚本中的任何其他位置使用之前初始化工具提示。你最好在脚本开头做。
var infowindow_options = {
content: '...<a class="bind_tooltip">...</a>...',
disableAutoPan: false,
maxWidth: 0,
alignBottom: true,
pixelOffset: new google.maps.Size( 10, 10 ),
zIndex: null,
boxClass: 'info_window',
closeBoxMargin: '10px 10px 0 0',
closeBoxURL: 'http://www.google.com/intl/en_us/mapfiles/close.gif',
pane: 'floatPane',
enableEventPropagation: true,
infoBoxClearance: '10px',
position: mrkr.position
};
google.maps.event.addListener( mrkr, 'click', function() {
infowindow ? infowindow.close() : '';
infowindow = new InfoBox( infowindow_options );
infowindow.open( map );
return false;
} );
$( document ).tooltip( {
items: '.bind_tooltip',
content: function() {
return $( this ).parent().find( '.tooltip' ).html();
},
position: {my: 'left top+10', at: 'center center'}
} );
google.maps.event.addListener( map, 'click', function() {
if( infowindow ) {
infowindow.close();
$( '.bind_tooltip' ).tooltip( 'close' );
}
return false;
} );
答案 1 :(得分:0)
在开头初始化工具提示并没有解决我的问题。所以我用这种方式解决了这个问题。我之前添加了一段代码,当点击地图时,infowinfow应该关闭。这就是为什么我放弃了我的infowinfow参考。所以删除自动关闭解决了我的问题。