Прескочи към основното съдържание Прескочи към навигацията
Допълнения към урока
Учебна програма Основи на програмирането с JavaScript
7. Работа с DOM

Пълен достъп до курса: Не

За пълен достъп или безплатна проба (2 модула), моля влезте или се регистрирайте.


Как работи Drag and Drop с мишката

За да направите елемент „влачен“ по екрана, трябва да комбинирате събитията на мишката и динамична промяна на CSS позицията. Най-важното е: при натискане на бутона активирате следене на движението, при движение обновявате координатите, а при отпускане спирате слушателите. Така елементът следва курсора и остава на последната позиция.

Стъпка по стъпка: реализиране на влачене

  1. Клонирайте елемент с cloneNode() и го добавете в body.
  2. Задайте му стилове: position: absolute, left: 0, top: 0, подходящ z-index и фон.
  3. Добавете mousedown listener към елемента.
  4. В обработчика извикайте event.preventDefault(), за да спрете селектирането на текста.
  5. При mousedown добавете към window слушатели за mousemove и mouseup.
  6. В mousemove използвайте event.pageX и event.pageY, за да зададете нови стойности на style.left и style.top (добавете 'px').
  7. В mouseup премахнете mousemove и mouseup listener-ите от window.

Основни събития и методи

  • mousedown – активира процеса на влачене при натискане на бутон на мишката.
  • mousemove – извиква се при всяко движение на мишката.
  • mouseup – спира влаченето при отпускане на бутона.
  • event.preventDefault() – спира стандартното поведение (напр. селектиране на текст).
  • event.pageX / event.pageY – връщат координатите на мишката спрямо страницата.

Дискусия към урока