21-22_Объект события

Содержание

Слайд 2

События можно поделить на несколько групп:
события мыши
события клавиатуры
события DOM
события элементов управления

События можно поделить на несколько групп: события мыши события клавиатуры события DOM события элементов управления

Слайд 3

В функцию - обработчик события в момент срабатывания передаётся объект события.
Объект события

В функцию - обработчик события в момент срабатывания передаётся объект события. Объект
- это объект с информацией о произошедшем событии.
В зависимости от класса события объект несет разную информацию.

Слайд 4

elem.onclick = function(ev){
console.log(ev);
}
ev - имя параметра указанного для функции, можно

elem.onclick = function(ev){ console.log(ev); } ev - имя параметра указанного для функции,
заменить любым другим именем.
Этот параметр и будет объектом события.

Слайд 5

Если вы задаете событие с помощью атрибутов в HTML, то объект события

Если вы задаете событие с помощью атрибутов в HTML, то объект события
будет доступен с помощью переменной event.

Слайд 6

Общие свойства и методы объекта события

Общие свойства и методы объекта события

Слайд 7

За отмену действия по умолчанию отвечает метод preventDefault объекта события.
elem.onclick = function(ev){
ev.preventDefault();
}

За отмену действия по умолчанию отвечает метод preventDefault объекта события. elem.onclick = function(ev){ ev.preventDefault(); }

Слайд 8

Всплытие события - это ситуация, когда событие одного элемента, происходит и с

Всплытие события - это ситуация, когда событие одного элемента, происходит и с другим. Рассмотрим пример: Press
другим. Рассмотрим пример:





Слайд 9

Так как кнопка находится внутри тега p, который находится внутри div, то

Так как кнопка находится внутри тега p, который находится внутри div, то
по щелчку по кнопке событие click сработает и у тега p, и у тега div.
Данное событие сначала происходит у самого “глубокого” элемента, а затем поднимается выше (поэтому всплытие).
Метод stopPropagation у объекта события отменяет всплытие, то есть дальше событие не всплывает.

Слайд 11

Оба свойства ссылаются на источник события, однако target - это элемент, на

Оба свойства ссылаются на источник события, однако target - это элемент, на
котором событие возникло, а currentTarget - элемент, на который добавили обработчик (как с this).
currentTarget появляется, когда есть всплытие события.
Далее указан код, на котором можно отследить разницу.

Слайд 13

timeStamp - время в мс, прошедших с момента загрузки страницы до события
type

timeStamp - время в мс, прошедших с момента загрузки страницы до события
- имя события
defaultPrevented - указывает, был ли вызван метод preventDefault

Слайд 14

События мыши

События мыши

Слайд 15

Дополнительные события мыши
dblclick - двойной клик
mousedown - кнопка мыши опущена вниз
mouseup -

Дополнительные события мыши dblclick - двойной клик mousedown - кнопка мыши опущена
кнопка мыши поднята наверх

Слайд 16

Координаты:
pageX, pageY - координаты от начала документа (как и position: absolute)
clientX, clientY

Координаты: pageX, pageY - координаты от начала документа (как и position: absolute)
- координаты от окна (прокрутка не учитывается)
offsetX, offsetY - координаты от начала самого элемента

Слайд 17

Дополнительные клавиши:
ctrlKey - true, если была нажата клавиша ctrl
altKey - true, если

Дополнительные клавиши: ctrlKey - true, если была нажата клавиша ctrl altKey -
была нажата клавиша alt
shiftKey - true, если была нажата клавиша shift
which - какая кнопка была нажата (работает с mousedown и mouseup).
1 - левая, 3 - правая, 2 - колесико (средняя)

Слайд 18

https://developer.mozilla.org/ru/docs/Web/API/MouseEvent/buttons
https://developer.mozilla.org/ru/docs/Web/API/MouseEvent/button

https://developer.mozilla.org/ru/docs/Web/API/MouseEvent/buttons https://developer.mozilla.org/ru/docs/Web/API/MouseEvent/button

Слайд 19

События клавиатуры

События клавиатуры

Слайд 20

keydown - клавиша клавиатуры опущена вниз, нажата (предпочтительный вариант)
keyup - клавиша клавиатуры

keydown - клавиша клавиатуры опущена вниз, нажата (предпочтительный вариант) keyup - клавиша
поднята наверх, вернулась в исходное состояние
keypress - нажата символьная клавиша

Слайд 21

Событие “нажатие клавиши” может происходить только в элементах, в которых нажатие клавиши

Событие “нажатие клавиши” может происходить только в элементах, в которых нажатие клавиши
работает (элементы управления), либо его можно добавить на глобальный объект window

Слайд 22

key - обозначение нажатой клавиши в виде строки (например, “w”
code - код

key - обозначение нажатой клавиши в виде строки (например, “w” code -
нажатой клавиши в виде строки (например, “keyW”)
keyCode - численный код нажатой клавиши
altKey, ctrlKey, shiftKey - по аналогии с событиями мыши

Слайд 23

document.addEventListener(“DOMContentLoaded”, fn);
Срабатывает в момент, когда загружено дерево DOM, без картинок и стилей
Добавляется

document.addEventListener(“DOMContentLoaded”, fn); Срабатывает в момент, когда загружено дерево DOM, без картинок и
только через addEventListener
Есть у объекта document

window.onload = fn;
Срабатывает в момент когда ВСЕ данные загружены (включая картинки, файлы css)
Можно добавлять обработчик в свойства и через addEventListener
Есть у объекта window