Как стать автором
Обновить

Комментарии 2

вангую что на vanilla.js кода было бы меньше

Возникла та же мысль. Решил попробовать. Вышло так:

let active = null;
document.querySelectorAll('.draggable')
  .forEach(element => {
    element.addEventListener('mousedown', (event) => {
      active = { event, element };
    });
    element.addEventListener('mouseup', () => {
      active = null;
    });
  });
document.addEventListener('mousemove', (event) => {
  if (!active) return;
  active.element.style.left = (event.x - active.event.offsetX) + 'px';
  active.element.style.top = (event.y - active.event.offsetY) + 'px';
});

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории