我正在使用OrbitControls.js制作一个Three.js项目,但我意识到我无法使用OrbitControls选择(突出显示)任何文本。
此处示例链接:http://threejs.org/examples/#misc_controls_orbit (尝试在示例的顶部选择文本“轨道控制示例”,我们不能这样做)
那么,如何使用OrbitControl选择(突出显示)文本?
(或者我每次想要复制文本时都必须禁用控制权?)
感谢。
答案 0 :(得分:12)
默认情况下,OrbitControls
会侦听document
上的鼠标事件,这就是为什么您不能在同一页面中使用鼠标用于其他目的,例如选择文本或打开上下文菜单。您可以通过将DOM节点指定为构造函数THREE.OrbitControls
的第二个参数来更改此行为。然后OrbitControls
侦听此DOM节点上的鼠标事件,而不是整个document
。
如果你有像
这样的代码var renderer = …;
container.appendChild(renderer.domElement);
…
var controls = new THREE.OrbitControls(camera);
然后用
替换最后一行var controls = new THREE.OrbitControls(camera, renderer.domElement);
如果是the example you mentioned,您可以移动controls
的初始化:
controls = new THREE.OrbitControls( camera );
controls.addEventListener( 'change', render );
初始化renderer
后,将renderer.domElement
添加为构造函数THREE.OrbitControls
的第二个参数。现在您可以选择页面上的文字。
答案 1 :(得分:0)
创建输入:
identidad.addEventListener( 'click', function ( event ) {
$(this).focus();
});
通过将焦点放在此元素上来扩展click事件:
newFileBytes = [123041, 3, 255, 0, 100]
newFile = open("f.bin", "wb")
for byte in newFileBytes:
newFile.write(byte.to_bytes(1, byteorder='big'))
newFile.close()