CodeGym /Kursy /Frontend SELF PL /Właściwości i metody obiektu zdarzenia

Właściwości i metody obiektu zdarzenia

Frontend SELF PL
Poziom 42 , Lekcja 0
Dostępny

6.1 Obiekt zdarzenia

JavaScript oferuje potężny system zdarzeń, który pozwala śledzić różne działania użytkownika i inne zdarzenia zachodzące w przeglądarce. Ważnym aspektem pracy ze zdarzeniami jest obiekt zdarzenia, który zawiera informacje o zdarzeniu i udostępnia metody do jego obsługi.

Kiedy zdarzenie ma miejsce, przeglądarka tworzy obiekt zdarzenia, który zawiera informacje o tym zdarzeniu. Ten obiekt jest przekazywany do obsługującego zdarzenie jako argument.

Właściwości obiektu zdarzenia:

  1. type: typ zdarzenia (np. click, keydown).
  2. target: element, na którym zdarzenie miało miejsce.
  3. currentTarget: element, do którego przypisano obsługę zdarzenia.
  4. eventPhase: faza, w której znajduje się zdarzenie (capture, target, bubble).
  5. bubbles: wartość logiczna wskazująca, czy zdarzenie może bąbelkować.
  6. cancelable: wartość logiczna wskazująca, czy zdarzenie można anulować.
  7. defaultPrevented: wartość logiczna wskazująca, czy działanie domyślne zostało zablokowane.
  8. timeStamp: czas, kiedy zdarzenie zostało utworzone.
  9. isTrusted: wartość logiczna wskazująca, czy zdarzenie zostało zainicjowane przez użytkownika czy skrypt.

Metody obiektu zdarzenia:

  1. preventDefault(): anuluje domyślne działanie związane ze zdarzeniem.
  2. stopPropagation(): zatrzymuje dalsze rozprzestrzenianie się zdarzenia.
  3. stopImmediatePropagation(): zatrzymuje dalsze rozprzestrzenianie się zdarzenia i zapobiega wykonaniu innych obsługujących zdarzenia dla bieżącego elementu.

Przykład użycia obiektu zdarzenia:

HTML
    
      <!DOCTYPE html>
      <html>
        <head>
          <title>Event Object Example</title>
        </head>
        <body>
          <button id="myButton">Click me</button>

          <script>
            const button = document.getElementById('myButton');

            button.addEventListener('click', function(event) {
              console.log('Event type:', event.type); // Wyświetli: click
              console.log('Event target:', event.target); // Wyświetli: <button id="myButton">Click me</button>
              console.log('Current target:', event.currentTarget); // Wyświetli: <button id="myButton">Click me</button>
              console.log('Event phase:', event.eventPhase); // Wyświetli: 2 (Faza celowa)
              console.log('Bubbles:', event.bubbles); // Wyświetli: true
              console.log('Cancelable:', event.cancelable); // Wyświetli: true
              console.log('Time stamp:', event.timeStamp); // Wyświetli czas w milisekundach
              console.log('Is trusted:', event.isTrusted); // Wyświetli: true
            });
          </script>
        </body>
      </html>
    
  

6.2. Zdarzenia kliknięcia (Mouse Events)

Zdarzenia myszy są generowane, gdy użytkownik wchodzi w interakcję z elementem za pomocą myszy:

  • click: zdarzenie kliknięcia
  • dblclick: zdarzenie podwójnego kliknięcia
  • mousedown: zdarzenie naciśnięcia przycisku myszy
  • mouseup: zdarzenie zwolnienia przycisku myszy
  • mousemove: zdarzenie ruchu myszy
  • mouseover: zdarzenie najechania myszką
  • mouseout: zdarzenie usunięcia kursora z elementu

Przykład:

HTML
    
      <!DOCTYPE html>
      <html>
        <head>
          <title>Mouse Events Example</title>
        </head>
        <body>
          <button id="myButton">Click Me</button>
          <script>
            const button = document.getElementById('myButton');

            button.addEventListener('click', function(event) {
              console.log('Button clicked');
              console.log('Event type:', event.type);
              console.log('Target element:', event.target);
            });
          </script>
        </body>
      </html>
    
  

6.3 Zdarzenia ładowania (Load Events)

Zdarzenia ładowania występują, gdy zasób zakończy ładowanie:

  • load: zdarzenie, które występuje, gdy zasób/strona jest całkowicie załadowany
  • DOMContentLoaded: zdarzenie, które występuje, gdy wstępna dokumentacja HTML została załadowana i przeanalizowana bez oczekiwania na pełne załadowanie arkuszy stylów, obrazów i ramek

Przykład:

HTML
    
      <!DOCTYPE html>
      <html>
        <head>
          <title>Load Events Example</title>
        </head>
        <body>
          <script>
            window.addEventListener('load', function(event) {
              console.log('Window fully loaded');
            });

            document.addEventListener('DOMContentLoaded', function(event) {
              console.log('DOM fully loaded and parsed');
            });
          </script>
        </body>
      </html>
    
  

6.4 Zdarzenia focus (Focus Events)

Zdarzenia focus są generowane, gdy element zyskuje lub traci focus.

  • focus: zdarzenie, które występuje, gdy element zyskuje focus
  • blur: zdarzenie, które występuje, gdy element traci focus

Przykład:

HTML
    
      <!DOCTYPE html>
      <html>
        <head>
          <title>Focus Events Example</title>
        </head>
        <body>
          <input type="text" id="textInput" placeholder="Type something...">
          <script>
            const input = document.getElementById('textInput');

            input.addEventListener('focus', function(event) {
              console.log('Input field focused');
            });

            input.addEventListener('blur', function(event) {
              console.log('Input field lost focus');
            });
          </script>
        </body>
      </html>
    
  

6.5 Zdarzenia klawiatury (Keyboard Events)

Zdarzenia klawiatury są generowane, gdy użytkownik naciska klawisze na klawiaturze:

  • keydown: zdarzenie, które występuje, gdy klawisz jest naciśnięty
  • keyup: zdarzenie, które występuje, gdy klawisz jest zwolniony
  • keypress: zdarzenie, które występuje, gdy klawisz jest naciśnięty i zwolniony (przestarzałe zdarzenie, niezalecane do użycia)

Przykład:

HTML
    
      <html>
        <head>
          <title>Keyboard Events Example</title>
        </head>
        <body>
          <input type="text" id="textInput" placeholder="Type something...">
          <script>
            const input = document.getElementById('textInput');

            input.addEventListener('keydown', function(event) {
              console.log('Key down:', event.key);
            });

            input.addEventListener('keyup', function(event) {
              console.log('Key up:', event.key);
            });
          </script>
        </body>
      </html>
    
  
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION