opt*_*enk 5 javascript three.js dat.gui
我正在开发一个简单的Web应用程序,并且正在使用两个js库:dat.gui和three.js。
我的问题是下拉菜单被锁定。我打不开
// gui initialization (dat.gui)
function initGui() {
var Options = function() {
this.tenda = 'bar';
};
config = new Options();
var gui = new dat.GUI();
var subGui = gui.addFolder('Setting');
subGui.open();
// callbacks
subGui.add( config, 'tenda', ['bar', 'pie', 'area']).
onChange(
function() {
if (config.tenda === 'bar') { ... }
else if (config.tenda === 'pie') { ... }
else if (config.tenda === 'area') { ... }
}
);
};
Run Code Online (Sandbox Code Playgroud)
在网络上阅读,这似乎是一个已知问题,但是在某些示例中,我看到下拉菜单运行良好。我是js的新手,所以我认为“也许存在一些范围问题”,因此我将初始化过程放在了一个可以正常工作的函数中。但是问题仍然存在。
我正在使用Ubuntu / Chrome和Ubuntu / Firefox。您可以在此处检查整个代码,在这里我使用复选框而不是下拉菜单。
我面临同样的问题。在我的代码中,我监听鼠标单击事件。和这样的回调函数:
function onDocumentMouseDown( event ) {
event.preventDefault();
... //other code
}
Run Code Online (Sandbox Code Playgroud)
我发现问题是“event.preventDefault();”,这将阻止单击下拉列表,因此通过评论它,我的问题解决了。您还可以检查与鼠标单击事件相关的其他功能。