最近在使用threejs时发现,3D图加载完成之后输入框都无法获取焦点,多处查询发现,在使用OrbitControls时有第二个参数,对于官方文档的描述是这样:
OrbitControls( object : Camera, domElement : HTMLDOMElement )
- object: (required) The camera to be controlled. The camera must not be a child of another object, unless that object is the scene itself.
- domElement: (optional) The HTML element used for event listeners. By default this is the whole document, however if you only want the controls to work over a specific element (e.g. the canvas) you can specify that here.
其中第一个参数是相机的对象,为必填;
第二个参数的意思是用于事件侦听的HTML,如果不传的话默认是整个dom文档,所以会导致上述问题。在这里可以把用于显示3D图的dom节点传入。
建议是,如果单纯做3d显示,可以选择默认的方式;如果是在页面中嵌入3d显示,则需要指定该参数。