"disableBrowserContextMenu" 在 Viewer3D.js v7 中的表现如何?
How does "disableBrowserContextMenu" behave in Viewer3D.js v7?
请告诉我 Viewer3D 设置参数的行为 disableBrowserContextMenu
。
因为它不在 API Reference. (screenshot)
这个 gif animation 确实用 { "disableBrowserContextMenu" : false }
捕获了。
如果开发者想使用 web 浏览器的上下文菜单,应该使用它吗?
我的代码在这里。
Autodesk.Viewing.Initializer(options, function onInitialized(){
// Find the element where the 3d viewer will live.
var htmlElement = document.getElementById('ViewerArea');
if (htmlElement) {
// Create and start the viewer in that element
var config = { "disableBrowserContextMenu" : false };
viewer = new Autodesk.Viewing.GuiViewer3D(htmlElement, config);
viewer.start();
// Load the document into the viewer.
Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
}
});
来自https://developer.api.autodesk.com/modelderivative/v2/viewers/viewer3D.min.js?v=7.14
Viewer3D.prototype.initContextMenu = function() {
// Disable the browser's default context menu by default, or if explicitly specified.
//
var disableBrowserContextMenu = !this.config || (this.config.hasOwnProperty("disableBrowserContextMenu") ? this.config.disableBrowserContextMenu : true);
if (disableBrowserContextMenu) {
this.onDefaultContextMenu = function (e) {
e.preventDefault();
};
this.container.addEventListener('contextmenu', this.onDefaultContextMenu, false);
}
var self = this;
var canvas = this.canvas || this.container;
this.onMouseDown = function(event) {
if (EventUtils.isRightClick(event)) {
self.startX = event.clientX;
self.startY = event.clientY;
}
}
canvas.addEventListener( 'mousedown', this.onMouseDown);
this.onMouseUp = function(event) {
if (EventUtils.isRightClick(event) && event.clientX === self.startX && event.clientY === self.startY) {
self.triggerContextMenu(event);
}
return true;
}
canvas.addEventListener( 'mouseup', this.onMouseUp, false);
};
是 disableBrowserContextMenu
是一个 Viewer initialization/construction 选项,用于禁用 Viewer 附带的内置上下文菜单,并且您在 OP 中的代码中正确使用了它。
const config = {
disableBrowserContextMenu:false
//...
}
new Autodesk.Viewing.GuiViewer3D(container,config)
我们正在努力在接下来的几个月内全面改进我们服务的文档,我会让团队知道尝试像这样填写缺失的部分。
感谢您提供有用的反馈!
请告诉我 Viewer3D 设置参数的行为 disableBrowserContextMenu
。
因为它不在 API Reference. (screenshot)
这个 gif animation 确实用 { "disableBrowserContextMenu" : false }
捕获了。
如果开发者想使用 web 浏览器的上下文菜单,应该使用它吗?
我的代码在这里。
Autodesk.Viewing.Initializer(options, function onInitialized(){
// Find the element where the 3d viewer will live.
var htmlElement = document.getElementById('ViewerArea');
if (htmlElement) {
// Create and start the viewer in that element
var config = { "disableBrowserContextMenu" : false };
viewer = new Autodesk.Viewing.GuiViewer3D(htmlElement, config);
viewer.start();
// Load the document into the viewer.
Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
}
});
来自https://developer.api.autodesk.com/modelderivative/v2/viewers/viewer3D.min.js?v=7.14
Viewer3D.prototype.initContextMenu = function() {
// Disable the browser's default context menu by default, or if explicitly specified.
//
var disableBrowserContextMenu = !this.config || (this.config.hasOwnProperty("disableBrowserContextMenu") ? this.config.disableBrowserContextMenu : true);
if (disableBrowserContextMenu) {
this.onDefaultContextMenu = function (e) {
e.preventDefault();
};
this.container.addEventListener('contextmenu', this.onDefaultContextMenu, false);
}
var self = this;
var canvas = this.canvas || this.container;
this.onMouseDown = function(event) {
if (EventUtils.isRightClick(event)) {
self.startX = event.clientX;
self.startY = event.clientY;
}
}
canvas.addEventListener( 'mousedown', this.onMouseDown);
this.onMouseUp = function(event) {
if (EventUtils.isRightClick(event) && event.clientX === self.startX && event.clientY === self.startY) {
self.triggerContextMenu(event);
}
return true;
}
canvas.addEventListener( 'mouseup', this.onMouseUp, false);
};
是 disableBrowserContextMenu
是一个 Viewer initialization/construction 选项,用于禁用 Viewer 附带的内置上下文菜单,并且您在 OP 中的代码中正确使用了它。
const config = {
disableBrowserContextMenu:false
//...
}
new Autodesk.Viewing.GuiViewer3D(container,config)
我们正在努力在接下来的几个月内全面改进我们服务的文档,我会让团队知道尝试像这样填写缺失的部分。
感谢您提供有用的反馈!