右键单击Div(信息框)已禁用。我该如何启用它

时间:2011-12-26 05:53:08

标签: javascript jquery google-maps

我正在使用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
    };

4 个答案:

答案 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;");