【发布时间】:2018-03-30 12:58:28
【问题描述】:
我正在尝试了解如何在 3d 场景 usign Three.js 中呈现网页,但我能找到的所有示例最终都呈现了您无法点击的内容。 我看过几年前的视频,显示渲染的页面是可点击的,但该代码不再有效。 这不再可能了吗?到目前为止,我得到的只是我需要创建一个 CSS3DObject 对象,但是任何尝试捕获它(或其子对象)上的点击事件都不会产生任何结果。
任何帮助/指导将不胜感激。
编辑:添加我尝试过的简单代码
function createCssObject(w, h, position, rotation, url) {
var html = [
'<div style="width:' + w + 'px; height:' + h + 'px;">',
'<iframe src="' + url + '" width="' + w + '" height="' + h + '">',
'</iframe>',
'</div>'
].join('\n');
var div = document.createElement('div');
$(div).html(html);
var cssObject = new THREE.CSS3DObject(div);
cssObject.position.x = position.x;
cssObject.position.y = position.y;
cssObject.position.z = position.z;
cssObject.rotation.x = rotation.x;
cssObject.rotation.y = rotation.y;
cssObject.rotation.z = rotation.z;
cssObject.element.onclick = function() {
console.log("element clicked!");
}
return cssObject;
更新 2:工作 jsfiddle https://jsfiddle.net/edkLLjcm/4/
【问题讨论】:
-
" 任何尝试捕获点击事件(或其子事件)都不会产生任何结果" 您尝试过的任何实时代码示例?
-
添加了我尝试过的代码,老实说,没什么,只是我从教程中学到的东西