АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
⊗jsPmDmHU 361 of 505 menu

Адвязванне падзей у JavaScript

У гэтым ўроку мы з вамі навучымся адвязваць апрацоўшчыкі падзеі, якія раней былі прывязаны намі да элементаў. Хай для прыкладу дадзеная наступная кнопка:

<input id="button" type="submit">

Прывязам да гэтай кнопкі функцыю func:

let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); }

Давайце цяпер зробім так, каб апрацоўшчык падзеі спрацоўваў на першы клік, а потым адвязваўся ад кнопкі. Для гэтага існуе спецыяльны метад removeEventListener. Гэты метад першым параметрам прымае тып падзеі, а другім - спасылку на функцыю, якую трэба адвязаць.

Як правіла, гэта значыць, што апрацоўшчык падзеі адвязваецца так жа, як і прывязваўся. Гэта значыць, калі мы прывязалі яго вось так: addEventListener('click', func), то і адвязваем з тымі ж параметрамі, вось так: removeEventListener('click', func).

Такім чынам, вырашым пастаўленую намі задачу:

let button = document.querySelector('#button'); button.addEventListener('click', func); function func() { console.log('!!!'); this.removeEventListener('click', func); }

Дадзена спасылка і кнопка. Па націску на кнопку дадайце ў канец тэксту спасылкі змест яе атрыбута href у круглых дужках. Зрабіце так, каб гэта дадаванне адбывалася толькі па першым націску.

Дадзена кнопка, значэннем якой служыць лік 1. Зрабіце так, каб па кліку на гэту кнопку яе значэнне кожны раз павялічвалася на адзінку. Пасля таго, як значэнне кнопкі дасягне 10 - адвяжыце апрацоўшчык падзеі, каб кнопка больш не рэагавала на націск.

byenru