jQuery - obsługa zdarzeń

Mamy możliwość tworzenia dynamicznych stron internetowych za pomocą zdarzeń. Zdarzenia to akcje, które mogą zostać wykryte przez aplikację internetową.

Oto przykłady wydarzeń -

  • Kliknięcie myszą
  • Ładowanie strony internetowej
  • Najechanie myszą na element
  • Przesyłanie formularza HTML
  • Naciśnięcie klawisza na klawiaturze itp.

Po wyzwoleniu tych zdarzeń możesz użyć funkcji niestandardowej, aby zrobić prawie wszystko, co chcesz ze zdarzeniem. Te niestandardowe funkcje wywołują obsługę zdarzeń.

Programy obsługi zdarzeń wiązania

Korzystając z modelu zdarzeń jQuery, możemy ustanowić programy obsługi zdarzeń na elementach DOM z rozszerzeniem bind() metoda w następujący sposób -

<html>
   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
		
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $('div').bind('click', function( event ){
               alert('Hi there!');
            });
         });
      </script>
		
      <style>
         .div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
      </style>
   </head>
	
   <body>
      <p>Click on any square below to see the result:</p>
		
      <div class = "div" style = "background-color:blue;">ONE</div>
      <div class = "div" style = "background-color:green;">TWO</div>
      <div class = "div" style = "background-color:red;">THREE</div>
   </body>
</html>

Ten kod spowoduje, że element podziału zareaguje na zdarzenie click; gdy użytkownik kliknie później w tym dziale, zostanie wyświetlony alert.

To da następujący wynik -

Pełna składnia polecenia bind () jest następująca -

selector.bind( eventType[, eventData], handler)

Poniżej znajduje się opis parametrów -

  • eventType- Ciąg zawierający typ zdarzenia JavaScript, taki jak kliknięcie lub przesłanie. Pełną listę typów zdarzeń znajdziesz w następnej sekcji.

  • eventData - Jest to opcjonalny parametr, czyli mapa danych, które zostaną przekazane do programu obsługi zdarzeń.

  • handler - Funkcja do wykonania za każdym razem, gdy zostanie wyzwolone zdarzenie.

Usuwanie programów obsługi zdarzeń

Zwykle po ustanowieniu procedury obsługi zdarzeń pozostaje ona aktywna przez pozostałą część życia strony. Może zaistnieć potrzeba usunięcia modułu obsługi zdarzeń.

jQuery udostępnia unbind()polecenie, aby usunąć istniejącą procedurę obsługi zdarzeń. Składnia unbind () jest następująca -

selector.unbind(eventType, handler)

or 

selector.unbind(eventType)

Poniżej znajduje się opis parametrów -

  • eventType- Ciąg zawierający typ zdarzenia JavaScript, taki jak kliknięcie lub przesłanie. Pełną listę typów zdarzeń znajdziesz w następnej sekcji.

  • handler - Jeśli podano, identyfikuje konkretny odbiornik, który ma zostać usunięty.

Typy wydarzeń

Sr.No. Typ i opis wydarzenia
1

blur

Występuje, gdy element traci fokus.

2

change

Występuje po zmianie elementu.

3

click

Występuje po kliknięciu myszą.

4

dblclick

Występuje po dwukrotnym kliknięciu myszą.

5

error

Występuje, gdy wystąpi błąd podczas ładowania lub rozładowywania itp.

6

focus

Występuje, gdy element staje się aktywny.

7

keydown

Występuje po naciśnięciu klawisza.

8

keypress

Występuje po naciśnięciu i zwolnieniu klawisza.

9

keyup

Występuje po wydaniu klucza.

10

load

Występuje po załadowaniu dokumentu.

11

mousedown

Występuje po naciśnięciu przycisku myszy.

12

mouseenter

Występuje, gdy mysz przechodzi do regionu elementu.

13

mouseleave

Występuje, gdy mysz opuszcza region elementu.

14

mousemove

Występuje, gdy porusza się wskaźnik myszy.

15

mouseout

Występuje, gdy wskaźnik myszy przesunie się poza element.

16

mouseover

Występuje, gdy wskaźnik myszy przesuwa się nad elementem.

17

mouseup

Występuje po zwolnieniu przycisku myszy.

18

resize

Występuje po zmianie rozmiaru okna.

19

scroll

Występuje, gdy okno jest przewijane.

20

select

Występuje po zaznaczeniu tekstu.

21

submit

Występuje po przesłaniu formularza.

22

unload

Występuje, gdy dokumenty są wyładowywane.

Obiekt zdarzenia

Funkcja zwrotna przyjmuje pojedynczy parametr; gdy moduł obsługi zostanie wywołany, obiekt zdarzenia JavaScript będzie przez niego przepuszczany.

Obiekt zdarzenia jest często niepotrzebny, a parametr jest pomijany, ponieważ wystarczający kontekst jest zwykle dostępny, gdy procedura obsługi jest zobowiązana do dokładnego poznania, co należy zrobić po wyzwoleniu procedury obsługi, jednak istnieją pewne atrybuty, do których trzeba uzyskać dostęp.

Atrybuty zdarzenia

Sr.No. Właściwość i opis
1

altKey

Ustaw na true, jeśli klawisz Alt został naciśnięty, gdy zdarzenie zostało wyzwolone, false, jeśli nie. Klawisz Alt jest oznaczony jako Opcja na większości klawiatur Mac.

2

ctrlKey

Ustaw na true, jeśli klawisz Ctrl został naciśnięty, gdy zdarzenie zostało wyzwolone, false, jeśli nie.

3

data

Wartość, jeśli istnieje, przekazana jako drugi parametr do polecenia bind () podczas ustanawiania procedury obsługi.

4

keyCode

W przypadku zdarzeń keyup i keydown zwraca to naciśnięty klawisz.

5

metaKey

Ustaw na true, jeśli klawisz Meta został naciśnięty, gdy zdarzenie zostało wyzwolone, false, jeśli nie. Klawisz Meta to klawisz Ctrl na komputerach PC i klawisz Command na komputerach Mac.

6

pageX

W przypadku zdarzeń myszy określa poziomą współrzędną zdarzenia względem początku strony.

7

pageY

W przypadku zdarzeń myszy określa pionową współrzędną zdarzenia względem początku strony.

8

relatedTarget

W przypadku niektórych zdarzeń myszy określa element, który kursor pozostawił lub wprowadził, gdy zdarzenie zostało wyzwolone.

9

screenX

W przypadku zdarzeń myszy określa poziomą współrzędną zdarzenia względem początku ekranu.

10

screenY

W przypadku zdarzeń myszy określa pionową współrzędną zdarzenia względem początku ekranu.

11

shiftKey

Ustaw na true, jeśli klawisz Shift został naciśnięty, gdy zdarzenie zostało wyzwolone, false, jeśli nie.

12

target

Identyfikuje element, dla którego zostało wyzwolone zdarzenie.

13

timeStamp

Sygnatura czasowa (w milisekundach) utworzenia zdarzenia.

14

type

W przypadku wszystkich zdarzeń określa typ zdarzenia, które zostało wywołane (np. Kliknięcie).

15

which

W przypadku zdarzeń związanych z klawiaturą określa kod numeryczny klawisza, który spowodował zdarzenie, aw przypadku zdarzeń myszy, określa, który przycisk został naciśnięty (1 dla lewego, 2 dla środkowego, 3 dla prawego).

<html>
   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
		
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $('div').bind('click', function( event ){
               alert('Event type is ' + event.type);
               alert('pageX : ' + event.pageX);
               alert('pageY : ' + event.pageY);
               alert('Target : ' + event.target.innerHTML);
            });
         });
      </script>
		
      <style>
         .div{ margin:10px;padding:12px; border:2px solid #666; width:60px;}
      </style>
   </head>
	
   <body>
      <p>Click on any square below to see the result:</p>
		
      <div class = "div" style = "background-color:blue;">ONE</div>
      <div class = "div" style = "background-color:green;">TWO</div>
      <div class = "div" style = "background-color:red;">THREE</div>
   </body>
</html>

To da następujący wynik -

Metody zdarzeń

Istnieje lista metod, które można wywołać w obiekcie zdarzenia -

Sr.No. Metoda i opis
1 zapobiecDefault ()

Uniemożliwia przeglądarce wykonanie domyślnej akcji.

2 isDefaultPrevented ()

Zwraca informację, czy zdarzenie event.preventDefault () zostało kiedykolwiek wywołane w tym obiekcie zdarzenia.

3 stopPropagation ()

Zatrzymuje propagację zdarzenia do elementów nadrzędnych, zapobiegając powiadamianiu o zdarzeniu przez programy obsługi nadrzędne.

4 isPropagationStopped ()

Zwraca informację, czy event.stopPropagation () była kiedykolwiek wywołana w tym obiekcie zdarzenia.

5 stopImmediatePropagation ()

Zatrzymuje wykonanie pozostałych programów obsługi.

6 isImmediatePropagationStopped ()

Zwraca czy zdarzenie event.stopImmediatePropagation () było kiedykolwiek wywołane w tym obiekcie zdarzenia.

Metody manipulacji zdarzeniami

Poniższa tabela zawiera listę ważnych metod związanych ze zdarzeniami -

Sr.No. Metoda i opis
1 bind (typ, [dane], fn)

Wiąże procedurę obsługi z co najmniej jednym zdarzeniem (takim jak kliknięcie) dla każdego dopasowanego elementu. Może również wiązać zdarzenia niestandardowe.

2 off (events [, selector] [, handler (eventObject)])

Działa odwrotnie niż na żywo, usuwa powiązane wydarzenie na żywo.

3 najechanie (nad, na zewnątrz)

Symuluje najechanie na obiekt, na przykład przesuwanie myszy na obiekt.

4 on (zdarzenia [, selektor] [, dane], program obsługi)

Wiąże procedurę obsługi ze zdarzeniem (takim jak kliknięcie) dla wszystkich aktualnie - i w przyszłości - dopasowanych elementów. Może również wiązać zdarzenia niestandardowe.

5 one (typ, [dane], fn)

Wiąże procedurę obsługi z co najmniej jednym zdarzeniem, które ma zostać wykonane raz dla każdego dopasowanego elementu.

6 gotowy (fn)

Wiąże funkcję do wykonania, gdy DOM jest gotowy do przejścia i manipulacji.

7 wyzwalacz (zdarzenie, [dane])

Wywołaj zdarzenie dla każdego dopasowanego elementu.

8 triggerHandler (zdarzenie, [dane])

Uruchamia wszystkie powiązane programy obsługi zdarzeń w elemencie.

9 unbind ([typ], [fn])

Działa odwrotnie niż bind, usuwa powiązane zdarzenia z każdego z dopasowanych elementów.

Metody pomocy zdarzeń

jQuery zapewnia również zestaw funkcji pomocniczych zdarzeń, których można użyć do wyzwolenia zdarzenia w celu powiązania dowolnego typu zdarzenia wymienionego powyżej.

Metody wyzwalania

Poniżej znajduje się przykład, który wywołałby rozmycie we wszystkich akapitach -

$("p").blur();

Metody wiązania

Poniżej znajduje się przykład, który wiązałby plik click wydarzenie na wszystkich <div> -

$("div").click( function () { 
   // do something here
});
Sr.No. Metoda i opis
1

blur( )

Uruchamia zdarzenie rozmycia każdego dopasowanego elementu.

2

blur( fn )

Powiąż funkcję ze zdarzeniem rozmycia każdego dopasowanego elementu.

3

change( )

Uruchamia zdarzenie zmiany każdego dopasowanego elementu.

4

change( fn )

Wiąże funkcję ze zdarzeniem zmiany każdego dopasowanego elementu.

5

click( )

Uruchamia zdarzenie kliknięcia każdego dopasowanego elementu.

6

click( fn )

Wiąże funkcję ze zdarzeniem click każdego dopasowanego elementu.

7

dblclick( )

Uruchamia zdarzenie dblclick dla każdego dopasowanego elementu.

8

dblclick( fn )

Wiąże funkcję ze zdarzeniem dblclick każdego dopasowanego elementu.

9

error( )

Uruchamia zdarzenie błędu każdego dopasowanego elementu.

10

error( fn )

Wiąże funkcję ze zdarzeniem błędu każdego dopasowanego elementu.

11

focus( )

Uruchamia zdarzenie skupienia każdego dopasowanego elementu.

12

focus( fn )

Wiąże funkcję ze zdarzeniem fokusu każdego dopasowanego elementu.

13

keydown( )

Uruchamia zdarzenie keydown dla każdego dopasowanego elementu.

14

keydown( fn )

Powiąż funkcję ze zdarzeniem keydown każdego dopasowanego elementu.

15

keypress( )

Uruchamia zdarzenie naciśnięcia klawisza każdego dopasowanego elementu.

16

keypress( fn )

Wiąże funkcję ze zdarzeniem keypress każdego dopasowanego elementu.

17

keyup( )

Uruchamia zdarzenie keyup każdego dopasowanego elementu.

18

keyup( fn )

Powiąż funkcję ze zdarzeniem keyup każdego dopasowanego elementu.

19

load( fn )

Wiąże funkcję ze zdarzeniem load każdego dopasowanego elementu.

20

mousedown( fn )

Wiąże funkcję ze zdarzeniem mousedown każdego dopasowanego elementu.

21

mouseenter( fn )

Powiąż funkcję ze zdarzeniem mouseenter każdego dopasowanego elementu.

22

mouseleave( fn )

Powiąż funkcję ze zdarzeniem mouseleave każdego dopasowanego elementu.

23

mousemove( fn )

Powiąż funkcję ze zdarzeniem mousemove każdego dopasowanego elementu.

24

mouseout( fn )

Powiąż funkcję ze zdarzeniem mouseout każdego dopasowanego elementu.

25

mouseover( fn )

Powiąż funkcję ze zdarzeniem najechania myszą każdego dopasowanego elementu.

26

mouseup( fn )

Powiąż funkcję ze zdarzeniem mouseup każdego dopasowanego elementu.

27

resize( fn )

Powiąż funkcję ze zdarzeniem resize każdego dopasowanego elementu.

28

scroll( fn )

Powiąż funkcję ze zdarzeniem przewijania każdego dopasowanego elementu.

29

select( )

Uruchom zdarzenie select dla każdego dopasowanego elementu.

30

select( fn )

Powiąż funkcję z wybranym zdarzeniem każdego dopasowanego elementu.

31

submit( )

Wywołaj zdarzenie przesyłania każdego dopasowanego elementu.

32

submit( fn )

Powiąż funkcję ze zdarzeniem przesłania każdego dopasowanego elementu.

33

unload( fn )

Wiąże funkcję ze zdarzeniem unload każdego dopasowanego elementu.