DOM & Basic events Flashcards

1
Q

Global object

A

Глобальный объект - это объект, который всегда существует в глобальной области видимости.

В веб-браузере любой код, который не запускается скриптом явно как фоновую задачу, имеет Window в качестве своего глобального объекта.

Доступ к любым Глобальным Переменным или функциям может быть получен как к свойствам объекта window.
Это включает в себя как встроенные объекты, например, Array, так и характерные для окружения свойства, например, window.innerHeight – высота окна браузера.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Accessing the global object

A

Глобальный объект имеет универсальное имя – globalThis.
Но чаще на него ссылаются по-старому, используя имя, характерное для данного окружения, такое как window (браузер) и global (Node.js).

Для того, чтобы код был проще и в будущем его легче было поддерживать, следует обращаться к свойствам глобального объекта напрямую, как window.x.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Var for global object

A

В браузерах, если только мы не используем модули, глобальные функции и переменные, объявленные с помощью var, становятся свойствами глобального объекта.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

DOM

A

Document Object Model – объектная модель документа, которая представляет все содержимое страницы в виде объектов, которые можно менять.

Спецификация DOM описывает структуру документа и предоставляет объекты для манипуляций со страницей. Существуют и другие, отличные от браузеров, инструменты, использующие DOM. Например, серверные скрипты, также могут использовать DOM.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Window

A

window выступает в 2 ролях:

  1. Это глобальный объект для JavaScript-кода.
  2. Он представляет собой окно браузера и располагает методами для управления им.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

DOM event

A

Событие – это сигнал от браузера о том, что что-то произошло. Все DOM-узлы подают такие сигналы (хотя события бывают и не только в DOM).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Most common events

A

События мыши:
- click – происходит, когда кликнули на элемент левой кнопкой мыши (на устройствах с сенсорными экранами оно происходит при касании).
- contextmenu – происходит, когда кликнули на элемент правой кнопкой мыши.
- mouseover / mouseout – когда мышь наводится на / покидает элемент.
- mousedown / mouseup – когда нажали / отжали кнопку мыши на элементе.
- mousemove – при движении мыши.

События на элементах управления:
- submit – пользователь отправил форму <form>.
- focus – пользователь фокусируется на элементе, например нажимает на <input></input>.

Клавиатурные события:
- keydown и keyup – когда пользователь нажимает / отпускает клавишу.

События документа:
- DOMContentLoaded – когда HTML загружен и обработан, DOM документа полностью построен и доступен.

CSS events:
- transitionend – когда CSS-анимация завершена.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Event listeners

A

element.addEventListener(event, handler, [options]);

event - имя события.
handler - ссылка на функцию-обработчик.
options (false/true) - дополнительный объект со свойствами:
- once: если true, тогда обработчик будет автоматически удалён после выполнения.
- capture: фаза, на которой должен сработать обработчик.
- passive: если true, то указывает, что обработчик никогда не вызовет preventDefault().

Для удаления слушателя через removeEventListener нужно передать именно ту функцию-обработчик которая была назначена.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Event object

A

Когда происходит событие, браузер создаёт объект события, записывает в него детали и передаёт его в качестве аргумента функции-обработчику - event.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Basic event types

A
  1. Mouse events (MouseEvent): mousedown, mouseup, click, dblclick, mousemove, mouseover, mousewheel, mouseout, contextmenu
  2. Touch events (TouchEvent): touchstart, touchmove, touchend, touchcancel
  3. Keyboard events (KeyboardEvent): keydown, keypress, keyup
  4. Form events: focus, blur, change, submit
  5. Window events: scroll, resize, hashchange, load, unload
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Mouse events

A

dblclick - двойное нажатие кнопки указывающего устройства; то есть, когда она быстро щелкается дважды на одном элементе в течение очень короткого периода времени.

mousedown - кнопка указывающего устройства нажата над элементом.

mouseenter - когда указательное устройство изначально перемещается так, что его горячая точка находится в пределах элемента, в котором было запущено событие.

mouseleave - когда курсор манипулятора перемещается за границы элемента.

mousemove - когда указывающее устройство перемещается, пока точка доступа курсора находится внутри него.

mouseout - когда указывающее устройство используется для перемещения курсора так, чтобы он больше не находился внутри элемента или одного из его дочерних элементов.

mouseover - когда указывающее устройство используется для перемещения курсора на элемент или один из его дочерних элементов.

mouseup - когда кнопка на устройстве указания отпускается, когда указатель находится внутри него.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Keyboard events

A

Keydown - срабатывает, когда клавиша была нажата.

Keyup - срабатывает, когда клавиша была отпущена.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Form events

A

Submit - событие отправки формы.

Reset - событие очистки полей формы.

Invalid - срабатывает при попытке отправить форму, когда одно или несколько полей формы неверно заполнены.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Input events

A

Input — событие ввода.

Change — событие изменения input (срабатывает после изменения поля и потери фокуса).

Focus — выбор элемента, фокус.

Blur — потеря фокуса.

Select — выделение текста.

Keyup — событие отпускание кнопки.

Contextmenu — правый щелчок мыши.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Event phases

A

По стандарту DOM Events 3 фазы прохода события:

  1. Фаза погружения (capturing phase) – событие сначала идёт сверху вниз.
  2. Фаза цели (target phase) – событие достигло целевого(исходного) элемента.
  3. Фаза всплытия (bubbling stage) – событие начинает всплывать.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Capturing phase

A

Обработчики, добавленные через on<event>-свойство или через HTML-атрибуты, или через addEventListener(event, handler) с двумя аргументами, ничего не знают о фазе погружения, а работают только на 2-ой и 3-ей фазах.</event>

Cобытие сначала двигается вниз от корня документа к event.target, по пути вызывая обработчики, поставленные через addEventListener(…., true), где true – это сокращение для {capture: true}.

17
Q

Target phase

A

2-ую фазу («фазу цели»: событие достигло элемента) нельзя обработать отдельно, при её достижении вызываются все обработчики: и на всплытие, и на погружение.

18
Q

Bubbling stage

A

Обработчики, добавленные через on<event>-свойство или через HTML-атрибуты, или через addEventListener(event, handler) с двумя аргументами срабатывают на 2-ой и 3-ей фазах.</event>

19
Q

event.eventPhase

A

Свойство, содержащее номер фазы, на которой событие было поймано.

20
Q

event.target

A

Самый глубокий элемент, на котором произошло событие.

21
Q

event.currentTarget (=this)

A

Элемент, на котором в данный момент сработал обработчик (тот, на котором «висит» конкретный обработчик)