Непрофессиональное введение в JAVASCRIPT



         

MouseDown, MouseMove и MouseUp - часть 2


window.onmousedown= startDrag; window.onmouseup= endDrag;

Следующая строка кода определяет, что произойдет, когда Window-объект получит событие MouseMove:

window.onmousemove= moveIt;

Но подождите, мы не определили Event.MOUSEMOVE в window.captureEvents()! Это означает, что это событие не зафиксировано Window-объектом. Тогда почему мы сообщаем Window-объекту значение moveIt() хотя этот событие никогда не достигнет Window-объекта? Ответ на этот вопрос может быть найден в функции startDrag()

которая вызывается, как только происходит событие MouseDown:

function startDrag(e) { window.captureEvents(Event.MOUSEMOVE); }

Это означает, что Window-объект зафиксирует событие MouseMove, как только будет нажата кнопка мыши. Мы должны остановить фиксацию события MouseMove, когда происходит событие MouseUp. Это делает функция endDrag() с помощью метода releaseEvents():

function endDrag(e) { window.releaseEvents(Event.MOUSEMOVE); }

Функция moveIt() выводит координаты мыши в строку состояния.

Теперь у нас есть все элементы для регистрации событий, необходимых для выполнения технологии drag & drop. Теперь мы можем перейти к показу объектов на экране. .




Содержание  Назад  Вперед