右键单击Div(信息框)已禁用。 我该如何启用它
我正在使用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 };
我修改了infobox.js代码以使其正常工作。
改变了这个:
this.contextListener_ = google.maps.event.addDomListener(this.div_, "contextmenu", ignoreHandler);
对此:
this.contextListener_ = google.maps.event.addDomListener(this.div_, "contextmenu", cancelHandler);
免责声明:这可能会产生其他我不知道的不良影响,因为我没有彻底测试它,但它适用于我的情况。
只需将“contextmenu:true”添加到选项集即可
我从infobox.js源码中提取了这个:
- @property {boolean} enableEventPropagation传播mousedown,单击,dblclick,
- InfoBox中的context和contextmenu事件(默认为false以模仿行为
- google.maps.InfoWindow)。 如果是InfoBox,请将此属性设置为true
- 被用作地图标签。 iPhone注意:此属性设置无效; 事件是
- 总是传播。
看起来像将enableEventPropagation属性设置为true应该可以做到!
试试这个代码。 这是非常短的代码和非常有用的代码。 这是Javascript而不是jQuery所以它适用于所有浏览器。
要禁用右键单击
function yourFunction() { alert("Not allowed"); } document.oncontextmenu = new Function("yourFunction();return false;");