javascript - THREE.js WebGLRenderer 画布消耗“点击”鼠标事件
问题描述
当我将domElement
THREE.js 的(即画布)添加WebGLRenderer
到我的文档时,当我单击作为画布父级的容器元素时,不再触发“单击”鼠标事件。
有没有办法防止画布消耗鼠标点击?
编辑:删除以下单行代码(即根本不添加画布)恢复点击:
this.domElement.appendChild(this.threeRenderer.domElement);
解决方案
一种可能性是扩展您的 CSS,pointer-events:none
以便画布不会拦截您打算让容器元素使用的鼠标事件:
HTML:
<!-- Your container element -->
<div id="container">
<!-- The nested, child canvas used by THREE -->
<canvas id="canvas"></canvas>
</div>
CSS:
/* Prevent the canvas from intercepting mouse events */
#canvas {
pointer-events:none;
}
JS:
/* Register click event with the container element */
document.getElementById('container')
.addEventListener('click', function() {
alert('click');
});
希望有帮助
推荐阅读
- r - 由数据框中的列定义的时间段的开始日期和结束日期
- perl - 标量与列表赋值运算符
- amazon-web-services - AWS Lambda 随机停止运行
- python - 一键二值字典转CSV
- c# - C# 为音乐播放器项目制作播放次数最多的部分(数组排序并将数组传递给列表)
- python - SyntaxError:在导入 csv 时在 Python 3 中解析时出现意外 EOF
- python - 一个包含多个包的 python 项目
- dialog - 运行机器人时编排红色对话框错误
- python - Python 2.7 rtsp 流和“无效的 EU golomb 代码”Jetson TX2
- postgresql - PostGIS 会在插入 WKT 时自动转换吗?