• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyjasnienie dziłania programu z uzyciem this w input

Object Storage Arubacloud
+1 głos
166 wizyt
pytanie zadane 6 stycznia 2016 w JavaScript przez MlodyJavaS Użytkownik (500 p.)
edycja 6 stycznia 2016 przez MlodyJavaS

 

<script>
            function kolor(e){
                var blok = document.getElementById('blok');
                blok.style.backgroundColor=e.id;
				
				
            }

        </script>
<input id="green" type="radio" name="kolor" onchange="kolor(this) "> green
        <input id="blue" type="radio" name="kolor" onchange="kolor(this)"> blue
        

        
        <div id="blok" style="width: 200px; height: 100px; background-color: yellowgreen; position: fixed;
             left: 100px; top: 200px; "></div>

 

Moje pytanie jak wplywa na funkcje this z inputow tzn.  jak jest on przekazywany do tej funkcji?

pozdrawiam :)

4 odpowiedzi

+1 głos
odpowiedź 6 stycznia 2016 przez Ivan Maniak (60,650 p.)
UŻYWAJ PRZYCISKU "CODE", BARDZO ON POMAGA. DZIEKUJE.

this, w funkcji oznacza po prostu TEN - ten element. Czyli element, który wykonuje daną funkcje.
Input ma funkcje, która wywołuje się po zmianie. this to nic innego jak getElementById/ClassName, tylko że jeżeli jest to ClassName to wtedy nie możemy dokładnie określić, który element został zmieniony, dlatego używa się this.

Ps. Lepiej nie używać Id, aby zmieniać koloru. Nie do tego służyć atrybut Id. Lepiej użyć jakiegoś customowego atrybutu, jeżeli jest to jakaś informacja, to w kodzie html dodaje się zazwyczaj coś w stylu data-color="red", a następnie w kodzie masz dostęp do tego atrybutu.
komentarz 6 stycznia 2016 przez Comandeer Guru (600,810 p.)

Ale po co cokolwiek dodawać skoro to pole formularza, więc takie rzeczy powinny być wewnątrz atrybutu [value]?

+1 głos
odpowiedź 6 stycznia 2016 przez ScriptyChris Mędrzec (190,190 p.)

This w tym przypadku wskaże Ci obiekt (tutaj formularz), który wywołał funkcję. Jeśli zrobisz to na EventListener, wtedy jako parametr otrzymasz event i za jego pomoca możesz różne rzeczy dalej robić.

Np. https://jsfiddle.net/jpc1rfe2/1/

0 głosów
odpowiedź 6 stycznia 2016 przez DL TD Nałogowiec (36,710 p.)

Przed zadaniem pytania przeczytaj jak korzystać z forum... LINK

0 głosów
odpowiedź 12 stycznia 2016 przez MlodyJavaS Użytkownik (500 p.)
Dzieki wszystkim za odpowiedzi. Bardzo mi one pomogly w zrozumieniu tego "czegos" co bylo dla mnie pewną blokada w pojeciu podstaw JS :) Dzieki !

Podobne pytania

0 głosów
3 odpowiedzi 144 wizyt
pytanie zadane 17 grudnia 2015 w JavaScript przez MlodyJavaS Użytkownik (500 p.)
0 głosów
0 odpowiedzi 491 wizyt
0 głosów
1 odpowiedź 175 wizyt
pytanie zadane 12 stycznia 2019 w JavaScript przez Vra3 Nowicjusz (220 p.)

92,556 zapytań

141,404 odpowiedzi

319,560 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...