JavaScript addEventListener不允许多个鼠标事件

时间:2019-03-03 00:50:04

标签: javascript three.js addeventlistener physijs

我试图将多个事件侦听器添加到一个元素中,以监听鼠标事件,但是只有一个事件在激活。当我具有“拖动”事件侦听器和“鼠标”事件侦听器时,仅执行拖动事件,而当我将“鼠标”侦听器更改为侦听“单击”时,则仅执行单击事件。

事件侦听器是否有某种层次结构?另外,我使用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,我都会接受任何解决方案。有没有一种方法可以将所有侦听器放在一个函数调用中,或者可以将一种适用于多个事件的事件侦听器置于另一种方法?

如果您需要任何其他代码或信息,请告诉我。

非常感谢您的光临!

0 个答案:

没有答案