Bing map AJAX Control V7 - 如何防止右键单击显示上下文菜单?

时间:2011-08-30 09:09:14

标签: api bing-maps

我已将Bing地图添加到我的网页,并为“rightclick”事件添加了一个事件处理程序。

当我在地图上右键单击时,事件将触发,同时显示浏览器上下文菜单。如何阻止上下文菜单显示?

2 个答案:

答案 0 :(得分:0)

我没有找到任何Bing地图特定的关闭方式,但是,人们可以在原型中这样做,以防止上下文菜单显示在包含地图的div元素

// Create map
map = new Microsoft.Maps.Map(document.getElementById('map'), {credentials: 'bing_map_api_key'});
// Prevent the context menu from showing on right click on the map div using prototype
$('map').observe("contextmenu", function(e){
  e.stop();
});

答案 1 :(得分:0)

Bing Maps v6.3和v7.0之间的语法完全不同。版本6.3使用Virtual Earth库,因为7.0使用Microsoft.Maps库。

在7.0中,您可以将事件处理程序添加到地图和地图对象中,如下所示:

Microsoft.Maps.Events.addHandler(map, 'rightclick', rightclickHandler);

这是一个很棒的链接,可以在我在MSDN上添加书签的6.3和7.0之间进行迁移。

http://msdn.microsoft.com/en-us/library/hh237870.aspx

至于禁用上下文菜单,您可以设置oncontextmenu返回false,这样当您右键单击时,您也不会获得上下文菜单。我确信有很多方法可以做到这一点,但这是一个快速而简单的技巧。

 <body onload="GetMap();" oncontextmenu="return false">