5

私は簡単な Web アプリケーションを開発しており、dat.gui と three.js の 2 つの 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') { ... }
            }
        );
};

Web で読むと、既知の問題のようですが、いくつかの例では、ドロップダウン メニューがうまく機能していることがわかります。私はjsが初めてで、「スコープの問題があるかもしれない」と思ったので、初期化プロセスを機能する関数の中に入れました。しかし、問題は残ります。

私は Ubuntu/Chrome と Ubuntu/Firefox に取り組んでいます。ここでコード全体を確認できます。ここでは、ドロップダウン メニューの代わりにチェック ボックスを使用しています。

4

3 に答える 3

1

私は同じ問題に直面しています。私のコードでは、次のように変更しました。

var controls = new THREE.OrbitControls(camera);

var controls = new THREE.OrbitControls(camera, renderer.domElement);
于 2018-12-06T10:42:14.283 に答える
0

私は同じ問題に直面しています。私のコードでは、マウス クリック イベントをリッスンします。そしてそのようなコールバック関数:

function onDocumentMouseDown( event ) {
    event.preventDefault();

    ... //other code
}

問題は「event.preventDefault();」であり、ドロップダウンリストをクリックできないことがわかったので、コメントすることで問題が解決しました。マウスクリックイベントに関連する他の機能も確認できます。

于 2016-01-18T15:58:42.690 に答える