在JS中未触发拖放事件

埃洛玛·亚当(Elomar Adam)

示例:https :

//jsfiddle.net/u3m4eazx/我有2个可拖动的图像和3个div,可在其中放置图像($ dropZones)。

$dropZones.forEach($z => {
  $z.addEventListener('dragover', onDragOver);
  $z.addEventListener('dragleave', onDragLeave);
  $z.addEventListener('drop', onDrop);
});

Dragover和Dragleave事件触发并正常工作。我通过添加一个CSS类对div进行了悬停效果。

const onDragOver = e => {
  e.preventDefault;
  let id = e.target.dataset.id;
  let dropzone = document.querySelector(`.dropzone[data-id="${id}"]`);
  dropzone.classList.add('ready');
};

在dragleave事件中,我只是删除了该类。因此,它们运作良好。
但是drop事件不会触发。这是我在drop事件中拥有的

const onDrop = e => {
  console.log("Drop triggered");
  alert('Drop triggered');
};

有人知道为什么事件不会触发吗?

埃洛玛·亚当(Elomar Adam)

是的,所以我回头看了看,发现该preventDefault()函数写错了。
我写的没有()
不管怎么说,还是要谢谢你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章