SlideShare a Scribd company logo
1 of 49
События в JS 
ВЛАДИМИР ДАШУКЕВИЧ
Событие 
Это сообщение, которое 
возникает в различных 
точках исполняемого 
кода при выполнении 
определённых условий.
Виды событий в JS 
Браузерные 
(нативные) 
Программные
Eventloop в 
JS
Вопрос?
Eventloop
Нет Deadlock-ов))))
Как создать Deadlock в JS? 
WebWorkers 
localStorage 
(window.addEventListener(“storage”, 
function(){}, false))
Печаль(
События 
мыши
Mouse???
Это ж просто)) Как сложить два 
числа)
JQuery
Capturing and bubbling
Netscape vs IE
Peace)
stopPropagation
stopImmediatePropagation
Но как же его остановить?
Все 
просто)))
Ах если бы все было так просто( 
pointer-events: auto | none | 
visiblePainted | visibleFill | 
visibleStroke | visible | painted | 
fill | stroke | all | inherit;
60fps scrolling using pointer-events: none
setCapture/releaseCapture
Создание своего события 
мыши
Создать свое событие мыши
Вопрос?
Touch and pointer
Touches
TouchEvent 
touches 
targetTouches 
changedTouches
Touch
Отличие 
touches 
targetTouches 
changedTouches
Создание)
Творчество и воображение
touch-action 
touch-action: auto | none | [ [ [ pan-x 
|| pan-y || pinch-zoom 
] | manipulation ] || double-tap- 
zoom ]
Но что же делать с 300ms 
задержкой 
Fastclick.js 
Tap.js
Gestures
Gestures
IE10+
Android(((( 
http://hammerjs.github.io 
/
Pointers
Pointer 
IE11 IE10 
pointerdown 
pointermove 
pointerup 
MSPointerDow 
n 
MSPointerMov 
e 
MSPointerUp
Gotpointercapture and 
setPointerCapture
Gamepad 
gamepadconnected 
gamepaddisconnected
Mutations
Mutaions 
DOMSubtreeModified 
DOMNodeRemoved 
DOMNodeInserted
Mutations
MutationObserver
Questions?

More Related Content

What's hot

Рендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей СолодовниковРендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей СолодовниковDevDay
 
Игорь Лабутин «Продвинутое использование NuGet и MSBuild»
Игорь Лабутин «Продвинутое использование NuGet и MSBuild»Игорь Лабутин «Продвинутое использование NuGet и MSBuild»
Игорь Лабутин «Продвинутое использование NuGet и MSBuild»SpbDotNet Community
 
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft UkraineHTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft UkraineVolha Banadyseva
 
#12 "Создание двух desktop приложений на node-webkit и Electron” Михаил Реенко
#12 "Создание двух desktop приложений на node-webkit и Electron” Михаил Реенко#12 "Создание двух desktop приложений на node-webkit и Electron” Михаил Реенко
#12 "Создание двух desktop приложений на node-webkit и Electron” Михаил РеенкоJSib
 
Vue.js - реактивный фронтенд фреймворк для людей
Vue.js - реактивный фронтенд фреймворк для людейVue.js - реактивный фронтенд фреймворк для людей
Vue.js - реактивный фронтенд фреймворк для людейKonstantin Komelin
 
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияАрсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияArseny Zarechnev
 
Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)
Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)
Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)Ontico
 
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияАрсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияArseny Zarechnev
 
Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Dmytro Mindra
 
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScriptCSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScriptAlexey Ivanov
 
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...JSib
 
ДАМП 2015 Екатеринбург
ДАМП 2015 ЕкатеринбургДАМП 2015 Екатеринбург
ДАМП 2015 ЕкатеринбургAlexey Ivanov
 
Writing "Excel" Using Angular: 2000 Watchers Is Not a Limit by Misha Bashkirov
Writing "Excel" Using Angular: 2000 Watchers Is Not a Limit by Misha BashkirovWriting "Excel" Using Angular: 2000 Watchers Is Not a Limit by Misha Bashkirov
Writing "Excel" Using Angular: 2000 Watchers Is Not a Limit by Misha BashkirovMoscowJS
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Yandex
 
Storyboard Segregation
Storyboard SegregationStoryboard Segregation
Storyboard SegregationEgor Tolstoy
 
Внутреннее устройство и оптимизация бандла webpack
Внутреннее устройство и оптимизация бандла webpackВнутреннее устройство и оптимизация бандла webpack
Внутреннее устройство и оптимизация бандла webpackAlexey Ivanov
 
State of the Standardized Web
State of the Standardized WebState of the Standardized Web
State of the Standardized WebYandex
 
SubmitJS: Vue.js - make frontend developement great again. Andrii Grachov
SubmitJS: Vue.js - make frontend developement great again. Andrii GrachovSubmitJS: Vue.js - make frontend developement great again. Andrii Grachov
SubmitJS: Vue.js - make frontend developement great again. Andrii GrachovBinary Studio
 

What's hot (20)

Рендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей СолодовниковРендеринг может больше: vue.js vs React, Андрей Солодовников
Рендеринг может больше: vue.js vs React, Андрей Солодовников
 
Игорь Лабутин «Продвинутое использование NuGet и MSBuild»
Игорь Лабутин «Продвинутое использование NuGet и MSBuild»Игорь Лабутин «Продвинутое использование NuGet и MSBuild»
Игорь Лабутин «Продвинутое использование NuGet и MSBuild»
 
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft UkraineHTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
HTML 5: будущее уже сегодня, Сергей Байдачный, Microsoft Ukraine
 
#12 "Создание двух desktop приложений на node-webkit и Electron” Михаил Реенко
#12 "Создание двух desktop приложений на node-webkit и Electron” Михаил Реенко#12 "Создание двух desktop приложений на node-webkit и Electron” Михаил Реенко
#12 "Создание двух desktop приложений на node-webkit и Electron” Михаил Реенко
 
Vue.js - реактивный фронтенд фреймворк для людей
Vue.js - реактивный фронтенд фреймворк для людейVue.js - реактивный фронтенд фреймворк для людей
Vue.js - реактивный фронтенд фреймворк для людей
 
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияАрсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложения
 
Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)
Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)
Стабильность WebGL приложений / Кирилл Дмитренко (Яндекс)
 
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложенияАрсений Заречнев и Федор Шумов - Одностраничные приложения
Арсений Заречнев и Федор Шумов - Одностраничные приложения
 
Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012
 
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScriptCSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
 
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
#3 "Webpack и Vue.JS: Создание больших приложений и их расширение" Кирилл Кай...
 
ДАМП 2015 Екатеринбург
ДАМП 2015 ЕкатеринбургДАМП 2015 Екатеринбург
ДАМП 2015 Екатеринбург
 
Writing "Excel" Using Angular: 2000 Watchers Is Not a Limit by Misha Bashkirov
Writing "Excel" Using Angular: 2000 Watchers Is Not a Limit by Misha BashkirovWriting "Excel" Using Angular: 2000 Watchers Is Not a Limit by Misha Bashkirov
Writing "Excel" Using Angular: 2000 Watchers Is Not a Limit by Misha Bashkirov
 
Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"Михаил Давыдов "Масштабируемые JavaScript-приложения"
Михаил Давыдов "Масштабируемые JavaScript-приложения"
 
Суперсилы Chrome developer tools
Суперсилы Chrome developer toolsСуперсилы Chrome developer tools
Суперсилы Chrome developer tools
 
Storyboard Segregation
Storyboard SegregationStoryboard Segregation
Storyboard Segregation
 
Внутреннее устройство и оптимизация бандла webpack
Внутреннее устройство и оптимизация бандла webpackВнутреннее устройство и оптимизация бандла webpack
Внутреннее устройство и оптимизация бандла webpack
 
State of the Standardized Web
State of the Standardized WebState of the Standardized Web
State of the Standardized Web
 
Lime.JS
Lime.JSLime.JS
Lime.JS
 
SubmitJS: Vue.js - make frontend developement great again. Andrii Grachov
SubmitJS: Vue.js - make frontend developement great again. Andrii GrachovSubmitJS: Vue.js - make frontend developement great again. Andrii Grachov
SubmitJS: Vue.js - make frontend developement great again. Andrii Grachov
 

Similar to Cобытия в JavaScript

Вадим Дробинин (Vadim Drobinin) — iMessage Apps: от стикеров до банковских пр...
Вадим Дробинин (Vadim Drobinin) — iMessage Apps: от стикеров до банковских пр...Вадим Дробинин (Vadim Drobinin) — iMessage Apps: от стикеров до банковских пр...
Вадим Дробинин (Vadim Drobinin) — iMessage Apps: от стикеров до банковских пр...Vadim Drobinin
 
iMessage Apps: от стикеров до банковских приложений за 30 минут, Вадим Дробин...
iMessage Apps: от стикеров до банковских приложений за 30 минут, Вадим Дробин...iMessage Apps: от стикеров до банковских приложений за 30 минут, Вадим Дробин...
iMessage Apps: от стикеров до банковских приложений за 30 минут, Вадим Дробин...Mail.ru Group
 
FPUG Dzyga presentation
FPUG Dzyga presentationFPUG Dzyga presentation
FPUG Dzyga presentationIvan Filimonov
 
Алексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаАлексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаYandex
 
Pavel yuriychuk svg in game development
Pavel yuriychuk svg in game developmentPavel yuriychuk svg in game development
Pavel yuriychuk svg in game developmentDneprCiklumEvents
 
VIQA - Тестирование UI с помощью Виртуального интеллекта
VIQA - Тестирование UI с помощью Виртуального интеллектаVIQA - Тестирование UI с помощью Виртуального интеллекта
VIQA - Тестирование UI с помощью Виртуального интеллектаSQALab
 
Иструментарий для быстрой разработки игр с 2 d физикой
Иструментарий для быстрой разработки игр с 2 d физикойИструментарий для быстрой разработки игр с 2 d физикой
Иструментарий для быстрой разработки игр с 2 d физикойakimovpro
 
МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)Ontico
 
МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016Anastasia Goryacheva
 
MVP, Moxy. Как правильно пользоваться
MVP, Moxy. Как правильно пользоватьсяMVP, Moxy. Как правильно пользоваться
MVP, Moxy. Как правильно пользоватьсяYuri Shmakov
 
06 HappyDev-lite-2015 autumn. Андрей Юдин. JavaScript. Аспекты применения в с...
06 HappyDev-lite-2015 autumn. Андрей Юдин. JavaScript. Аспекты применения в с...06 HappyDev-lite-2015 autumn. Андрей Юдин. JavaScript. Аспекты применения в с...
06 HappyDev-lite-2015 autumn. Андрей Юдин. JavaScript. Аспекты применения в с...HappyDev-lite
 
Тестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и SeleniumТестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и SeleniumSQALab
 
Dmitry Bartalevich - "How to train your WebVR"
Dmitry Bartalevich - "How to train your WebVR"Dmitry Bartalevich - "How to train your WebVR"
Dmitry Bartalevich - "How to train your WebVR"IT Event
 
Кир Белевич "Touch it: универсальные тач-события и слайдер"
Кир Белевич "Touch it: универсальные тач-события и слайдер"Кир Белевич "Touch it: универсальные тач-события и слайдер"
Кир Белевич "Touch it: универсальные тач-события и слайдер"Yandex
 
SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014
SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014
SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014Dmytro Zharii
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationAndrii Dzynia
 
SECON'2017, Васин Вячеслав, Жизнь без SDL
SECON'2017, Васин Вячеслав, Жизнь без SDLSECON'2017, Васин Вячеслав, Жизнь без SDL
SECON'2017, Васин Вячеслав, Жизнь без SDLSECON
 

Similar to Cобытия в JavaScript (20)

Вадим Дробинин (Vadim Drobinin) — iMessage Apps: от стикеров до банковских пр...
Вадим Дробинин (Vadim Drobinin) — iMessage Apps: от стикеров до банковских пр...Вадим Дробинин (Vadim Drobinin) — iMessage Apps: от стикеров до банковских пр...
Вадим Дробинин (Vadim Drobinin) — iMessage Apps: от стикеров до банковских пр...
 
iMessage Apps: от стикеров до банковских приложений за 30 минут, Вадим Дробин...
iMessage Apps: от стикеров до банковских приложений за 30 минут, Вадим Дробин...iMessage Apps: от стикеров до банковских приложений за 30 минут, Вадим Дробин...
iMessage Apps: от стикеров до банковских приложений за 30 минут, Вадим Дробин...
 
FPUG Dzyga presentation
FPUG Dzyga presentationFPUG Dzyga presentation
FPUG Dzyga presentation
 
Алексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаАлексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кода
 
Pavel yuriychuk svg in game development
Pavel yuriychuk svg in game developmentPavel yuriychuk svg in game development
Pavel yuriychuk svg in game development
 
VIQA - Тестирование UI с помощью Виртуального интеллекта
VIQA - Тестирование UI с помощью Виртуального интеллектаVIQA - Тестирование UI с помощью Виртуального интеллекта
VIQA - Тестирование UI с помощью Виртуального интеллекта
 
Иструментарий для быстрой разработки игр с 2 d физикой
Иструментарий для быстрой разработки игр с 2 d физикойИструментарий для быстрой разработки игр с 2 d физикой
Иструментарий для быстрой разработки игр с 2 d физикой
 
МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)МРТ для данных / Анастасия Горячева (Avito)
МРТ для данных / Анастасия Горячева (Avito)
 
МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016МРТ для данных, Frontend Conf 2016
МРТ для данных, Frontend Conf 2016
 
VIQA Web UI Testing Tool
VIQA Web UI Testing ToolVIQA Web UI Testing Tool
VIQA Web UI Testing Tool
 
MVP, Moxy. Как правильно пользоваться
MVP, Moxy. Как правильно пользоватьсяMVP, Moxy. Как правильно пользоваться
MVP, Moxy. Как правильно пользоваться
 
06 HappyDev-lite-2015 autumn. Андрей Юдин. JavaScript. Аспекты применения в с...
06 HappyDev-lite-2015 autumn. Андрей Юдин. JavaScript. Аспекты применения в с...06 HappyDev-lite-2015 autumn. Андрей Юдин. JavaScript. Аспекты применения в с...
06 HappyDev-lite-2015 autumn. Андрей Юдин. JavaScript. Аспекты применения в с...
 
course js day 1
course js day 1course js day 1
course js day 1
 
Тестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и SeleniumТестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и Selenium
 
Devcamp nodejs-2010
Devcamp nodejs-2010Devcamp nodejs-2010
Devcamp nodejs-2010
 
Dmitry Bartalevich - "How to train your WebVR"
Dmitry Bartalevich - "How to train your WebVR"Dmitry Bartalevich - "How to train your WebVR"
Dmitry Bartalevich - "How to train your WebVR"
 
Кир Белевич "Touch it: универсальные тач-события и слайдер"
Кир Белевич "Touch it: универсальные тач-события и слайдер"Кир Белевич "Touch it: универсальные тач-события и слайдер"
Кир Белевич "Touch it: универсальные тач-события и слайдер"
 
SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014
SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014
SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014
 
iOS and Android Mobile Test Automation
iOS and Android Mobile Test AutomationiOS and Android Mobile Test Automation
iOS and Android Mobile Test Automation
 
SECON'2017, Васин Вячеслав, Жизнь без SDL
SECON'2017, Васин Вячеслав, Жизнь без SDLSECON'2017, Васин Вячеслав, Жизнь без SDL
SECON'2017, Васин Вячеслав, Жизнь без SDL
 

Cобытия в JavaScript