--- title: Event slug: Web/API/Event tags: - DOM - Dokumentacja_Gecko_DOM - Gecko - Wszystkie_kategorie translation_of: Web/API/Event ---
{{ ApiRef() }}
W tym rozdziale opiszemy model zdarzeń DOM Level 2 jaki implementuje Gecko. Opisany zostanie obiekt event
, a także interfejsy do rejestrowania zdarzeń dla węzłów DOM, uchwyty i obserwatorzy zdarzeń; przedstawione zostanie też kilka dłuższych przykładów pokazujących relacje między różnymi interfejsami.
Dostępny jest też doskonały diagram, który jasno przedstawia trzy fazy przepływu zdarzeń w DOM.
Interfejs DOM event
reprezentowany jest przez obiekty event
przekazywane do uchwytów zdarzeń różnych elementów DOM. Poniższy, prosty przykład pokazuje, jak przekazać i manipulować obiektem event
w funkcji obsługi zdarzenia.
function foo(e) { //funkcje obsługi zdarzeń - takie jak ta //otrzymują referencję do zdarzenia, jakie //obsługują (w tym przypadku "e") alert(e); } table_el.onclick = foo;
Powyższy przykład jest skrajnie prosty, przedstawia jednak ważną cechę obsługi zdarzeń w Gecko DOM - obiekty event
wykorzystywane są zwykle w funkcjach obsługi zdarzeń. Kiedy masz już referencję do obiektu event
, możesz korzystać z wszystkich metod i własności opisanych w tym rozdziale.
Zob. także Przykład 5: Propagowanie zdarzeń w rozdziale Przykłady użycia DOM, by zobaczyć bardziej szczegółowo, jak zdarzenia przechodzą przez DOM.
Oprócz opisanego tutaj obiektu event
, Gecko DOM dostarcza również metod do rejestrowania obserwatorów zdarzeń (ang.event listener ) na węzłach DOM, usuwania zdarzeń z obserwatorów oraz wywoływania zdarzeń z poziomu DOM. Te trzy metody opisano w rozdziale Elementy w DOM. Razem z uchwytami zdarzeń elementów HTML i XML stanowią one główny punkt wyjścia dla zdarzeń w DOM.
Możesz także przekazać do funkcji obsługi zdarzenia referencję do obiektu event
poprzez predefiniowany parametr o nazwie event
. Jest to bardzo podobne do sposobu, w jaki działa this
, ale tyczy się obiektów zdarzeń, a nie elementów.
<html> <head> <title>Przykład użycia parametru z obiektem event</title> <script type="text/javascript"> function showCoords(evt){ alert( "clientX value: " + evt.clientX + "\n" + "clientY value: " + evt.clientY + "\n" ); } </script> </head> <body onmousedown="showCoords(event)"> <p>Kliknij gdziekolwiek na tej stronie, aby wyświetlić współrzędne położenia myszy.</p> </body> </html>
Używanie predefiniowanego parametru event
pozostawia dalej możliwość przekazywania innych parametrów do funkcji obsługującej zdarzenie, jeśli jest taka potrzeba.
<html> <head> <title>Przykład użycia parametru z obiektem event wraz z dodatkowymi parametrami</title> <script type="text/javascript"> var par2 = 'hello'; var par3 = 'world!'; function showCoords(evt, p2, p3){ alert( "clientX value: " + evt.clientX + "\n" + "clientY value: " + evt.clientY + "\n" + "p2: " + p2 + "\n" + "p3: " + p3 + "\n" ); } </script> </head> <body onmousedown="showCoords(event, par2, par3)"> <p>Kliknij gdziekolwiek na tej stronie, aby wyświetlić współrzędne położenia myszy.</p> </body> </html>
<alt>
był wciśnięty podczas zdarzenia.<ctrl>
był wciśnięty podczas zdarzenia.meta
był wciśnięty podczas zdarzenia.<shift>
był wciśnięty podczas zdarzenia.AbstractView
), w którym wygenerowane zostało zdarzenie.DocumentEvent
.{{ languages( { "en": "en/DOM/event", "es": "es/DOM/event", "fr": "fr/DOM/event", "ja": "ja/DOM/event" } ) }}