Objekt this v JavaScript

Trenutno bomo delali s posebnim objektom this, dostopnim v funkciji-obravnavalniku dogodka. Ta objekt kaže na element, v katerem se je dogodek zgodil.

Objekt this je priročen, ko sta element, v katerem se je dogodek zgodil, in element, s katerim se izvajajo dejanja kot posledica dogodka, isti element.

Na primer, če imamo vnosno polje, lahko nanj vežemo obravnavalca izgube fokusa in ob nastopu tega dogodka nekaj naredimo z besedilom vnosnega polja. Naredimo opisano. Naj imamo dano vnosno polje:

html<input id="elem" value="text">

Dobimo referenco nanj v spremenljivko elem:

javascriptlet elem = document.querySelector('#elem');

Povežimo z njim funkcijo-obravnavalca dogodka blur:

javascriptelem.addEventListener('blur', func);

Znotraj te funkcije func bo dostopen objekt this, ki kaže na naše vnosno polje:

javascriptfunction func() {
  console.log(this); // vsebuje referenco na naš element
}

Izpišimo vsebino atributa value našega vnosnega polja:

javascriptfunction func() {
  console.log(this.value); // izpišemo vsebino atributa
}

No, zdaj pa zapišimo v vnosno polje kakšno besedilo:

javascriptfunction func() {
  this.value = '!!!';
}

Lahko uporabimo tudi anonimno funkcijo:

javascriptelem.addEventListener('blur', function() {
  this.value = '!!!';
});
Задание 1

Dano je vnosno polje. Ob pridobitvi fokusa s tem vnosnim poljem zapišite vanj številko 1, ob izgubi fokusa - številko 2. Za dostop do vnosnega polja znotraj funkcije-obravnavalca uporabite objekt this.

Задание 2

Dano je gumb, katerega vrednost je številka 1. Naredite tako, da se ob kliku na ta gumb njegova vrednost vsakič poveča za ena.