1. (eventbutton, если с кнопкой +) mousemove
Проверяем так:
[нажата нужная кнопка мыши] И [есть перемещение] => [исполняем секцию кода]
2. Возможно, что-то из списка по drag-событиям: тут
Несколько событий работают параллельно. Зависит от кода.
Вы используете уже существующую функцию, присваивать нужно именно название функции а не ее результат вызова. document.querySelector(".current").onclick = go();
Пишите вот так: document.querySelector(".current").onclick = go;
В этом примере https://jsfiddle.net/tpjqtyjh/1/
Красный абсолютный блок позиционируется относительно body, все верно.
Поэтому он "выпирает" за пределы зеленого.