我正在使用Google Maps V3 API的Infobox插件。 http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/docs/reference.html
问题:当我右键单击信息框div时,没有任何反应。对于作为父信息框div的子元素的任何div也是如此。但是我有一个输入框,其中包含一些我希望能够选择并右键单击复制的文本。
如果我不能正确点击它,怎么办呢?更重要的是,如何启用右键点击?
示例
http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/examples/infobox-basic.html
JS代码 不起作用
var infoboxOptions = {
content: boxText,
disableAutoPan: true,
maxWidth: 0,
pixelOffset: new google.maps.Size(0, 0),
zIndex: null,
infoBoxClearance: new google.maps.Size(5, 5),
closeBoxURL: '',
isHidden: true,
pane: "floatPane",
enableEventPropagation: false,
contextmenu: true
};
答案 0 :(得分:7)
我修改了infobox.js代码以使其正常工作。
改变了这个:
this.contextListener_ = google.maps.event.addDomListener(this.div_, "contextmenu", ignoreHandler);
到此:
this.contextListener_ = google.maps.event.addDomListener(this.div_, "contextmenu", cancelHandler);
免责声明:由于我没有彻底测试,这可能会产生其他我不知道的不良影响,但它适用于我的情况。
答案 1 :(得分:1)
只需将“contextmenu:true”添加到选项集
即可答案 2 :(得分:1)
我从infobox.js来源中提取了这个:
- @property {boolean} enableEventPropagation传播mousedown,点击,dblclick,
InfoBox中的- 和contextmenu事件(默认为false以模仿行为
- 的google.maps.InfoWindow)。如果InfoBox
,请将此属性设置为true- 用作地图标签。 iPhone注意:此属性设置无效;事件
- 总是传播。
看起来将enableEventPropagation属性设置为true应该可以做到这一点!
答案 3 :(得分:0)
试试这段代码。这是非常短的代码和非常有用的代码。这是Javascript而不是jQuery所以它适用于所有浏览器。
要禁用右键单击
function yourFunction() {
alert("Not allowed");
}
document.oncontextmenu = new Function("yourFunction();return false;");

Renable右键单击
document.oncontextmenu = new Function("return true;");