I’m using THREE JS CSS3DRenderer – trying to make a CSS3DObject update it’s position.z on click. Here’s my code:
var element = document.createElement( "div" );
element.style.width = "90px";
element.style.height = "120px";
element.style.backgroundColor = "#5C6167";
//
var object = new THREE.CSS3DObject( element );
object.position.x = 0;
object.position.y = 0;
object.position.z = 100;
object.addEventListener( 'click', function ( event ) {
new TWEEN.Tween( object.position ).to( {z: 200}, 500 ).easing( TWEEN.Easing.Quadratic.Out).start();
});
scene.add( object );
For whatever reason the CSS3DObject will not take a click event. Guidance please. 🙂
Have you try with mousedown and mouseup event?
See my sample:
var mouseDown = false,
mouseX = 0,
mouseY = 0;
function onMouseDown(evt) {
evt.preventDefault();
mouseDown = true;
mouseX = evt.clientX;
mouseY = evt.clientY;
}
function onMouseUp(evt) {
evt.preventDefault();
mouseDown = false;
}
function addMouseHandler(canvas) {
canvas.addEventListener('mousedown', onMouseDown, false);
canvas.addEventListener('mouseup', onMouseUp, false);
}
$(document).ready(function () {
var canvas= document.getElementById("canvas");
addMouseHandler(canvas);
});