Event#

Event.currentTarget#

Właściwość currentTarget zwraca obiekt będący aktualnym celem zdarzenia, na którym uchwyt zdarzenia dla danego zdarzenia został wywołany. Jeśli zdarzenie nie zostało wysłane zwracana będzie wartość null. Właściwość jest tylko do odczytu.

Składnia#

Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
var current_target = event.currentTarget;

gdzie poszczególne człony oznaczają:

Przy tworzeniu zdarzenia wartością domyślną dla właściwości currentTarget musi być wartość null.

Aktualny cel zdarzenia to obiekt, dla którego procedura obsługi danego zdarzenia została wywołana. Można to osiągnąć zarówno w fazie przechwytywania jak i fazie bąbelkowania wysłanego zdarzenia. Z punktu widzenia uchwytu zdarzenia musi on być obiektem, na którym uchwyt został zarejestrowany, czyli obiektem implementującym interfejs EventTarget.

Aktualnego celu zdarzenia nie należy mylić z celem zdarzenia. Obydwie właściwości będą jednakowe tylko i wyłącznie w sytuacji, kiedy zdarzenie osiąga swój cel (faza celu).

Po wykonaniu wszystkich faz dla danego zdarzenia właściwość currentTarget z powrotem ustawiona zostaje na wartość null.

Prosty przykład:

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
<!DOCTYPE html>
<html>

<head>

	<script>

		// Uruchom po całkowitym załadowaniu dokumentu
		window.onload = function(){

			var button = document.getElementById("press");
			var info = document.getElementById("info");

			button.addEventListener("click", function(e){

				info.innerHTML += "Interfejs zdarzenia e: " + e // [object MouseEvent]
					+ "<br>" + "e.type: " + e.type // click
					+ "<br>" + "e.bubbles: " + e.bubbles // true
					+ "<br>" + "e.cancelable: " + e.cancelable // true
					+ "<br>" + "e.defaultPrevented: " + e.defaultPrevented // false
					+ "<br>" + "e.isTrusted: " + e.isTrusted // true
					+ "<br>" + "e.eventPhase: " + e.eventPhase // 2
					+ "<br>" + "e.timeStamp: " + e.timeStamp // liczba całkowita z wartością zależną od chwili uruchomienia przykładu
					+ "<br>" + "e.currentTarget: " + e.currentTarget // [object HTMLInputElement]
					+ "<br>" + "e.target: " + e.target; // [object HTMLInputElement]

				e.preventDefault();

				info.innerHTML += "<br><br>" + "e.defaultPrevented: " + e.defaultPrevented; // true

			}, false);

			window.addEventListener("click", function(e){

				info.innerHTML += "<br><br>" + "Interfejs zdarzenia e: " + e // [object MouseEvent]
					+ "<br>" + "e.currentTarget: " + e.currentTarget // [object Window]
					+ "<br>" + "e.target: " + e.target // [object HTMLInputElement]
					+ "<br>" + "e.timeStamp: " + e.timeStamp;// liczba całkowita z wartością zależną od chwili uruchomienia przykładu

			}, false);

		}

	</script>

</head>

<body>

	<p>Kliknij w przycisk by uzyskać szczegółowe informacje dla zdarzenia.</p>
	<input id="press" type="button" value="Kliknij mnie!">

	<p style="color: blue;">Szczegółowe informacje dla przechwyconego zdarzenia:</p>
	<p id="info"></p>

</body>

</html>

Interfejs Web IDL#

  1. L
  2. K
  3. T'
  4. T
  5. A
  6. O
  7. Z'
  8. Z
  9. #
readonly attribute EventTarget? currentTarget;

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

Event (H1) Event.currentTarget (H2) Składnia (H3) Interfejs Web IDL (H3) Specyfikacje i inne materiały (H3)