我试图将多个事件侦听器添加到一个元素中,以监听鼠标事件,但是只有一个事件在激活。当我具有“拖动”事件侦听器和“鼠标”事件侦听器时,仅执行拖动事件,而当我将“鼠标”侦听器更改为侦听“单击”时,则仅执行单击事件。
事件侦听器是否有某种层次结构?另外,我使用Physi.js块作为元素,因此尽管单个事件侦听器过去运行良好,但我不确定是否有特殊要求。
这是块:
block = new Physijs.ConvexMesh(
new THREE.CubeGeometry(16, 16, 11),
new THREE.MeshBasicMaterial({
map: THREE.ImageUtils.loadTexture(tier + '.png'),
transparent: true
})
);
scene.add(block);
这是事件监听器的代码部分:
block.addEventListener('drag', function (event) {
block.dragged(event.x_diff, event.y_diff);
console.log("drag");
});
block.addEventListener('click', function (event) {
console.log("click");
});
似乎无论我如何放置事件侦听器或它们是什么鼠标事件,都只会执行一个。
只要使用Javascript,HTML或CSS,我都会接受任何解决方案。有没有一种方法可以将所有侦听器放在一个函数调用中,或者可以将一种适用于多个事件的事件侦听器置于另一种方法?
如果您需要任何其他代码或信息,请告诉我。
非常感谢您的光临!