KeyboardEvent#

KeyboardEvent.repeat#

Właściwość repeat zwraca boolowską wartość true jeśli klawisz dla danego zdarzenia był wciśnięty w sposób trwały, w przeciwnym razie zwrócona zostanie wartość false. 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 repeated = keyboardEvent.repeat;

gdzie poszczególne człony oznaczają:

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

W czasie wysyłania zaufanych zdarzeń wartość przechowywana we właściwości repeat ulegnie zmianie tylko wtedy, kiedy dłużej przytrzymamy wciśnięty klawisz. Konsekwencją będzie powtórzenie zdarzeń keydown, beforeinput oraz input (w tej kolejności), w tempie określonym przez konfigurację systemową. W przypadku urządzeń mobilnych, które mają dłuższą reakcję na wciśnięcie klawisza, pierwsze zdarzenie klawisza z boolowską wartością true we właściwości repeat musi służyć jako wskaźnik dla dłuższej reakcji na wciśnięcie klawisza. Ilość czasu, jaka musi upłynąć przy wciśniętym przycisku aby zapoczątkować jego powtarzanie również zależy od konfiguracji systemowej.

W przypadku syntetycznych zdarzeń możemy samodzielnie ustawić trwałość wciśniętego klawisza dla zdarzenia, np. w czasie tworzenia lub inicjowania zdarzenia.

Prosty przykład:

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

<head>

	<style>

		input:focus {outline: 5px solid green;}

	</style>

	<script>

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

			var input = document.getElementById("input");
			var info = document.getElementById("info");

			function readInfo(e){

				var data = "Interfejs: " + e
					+ "<br>" + "e.type: " + e.type
					+ "<br>" + "e.key: " + e.key
					+ "<br>" + "e.repeat: " + e.repeat + "<br><br>";

				info.innerHTML = info.innerHTML +  data;

			}

			input.addEventListener("keydown", readInfo, false);
			input.addEventListener("keyup", readInfo, false);

		}

	</script>

</head>

<body>

	<p>Ustaw zogniskowanie w poniższej kontrolce i wciśnij dowolny klawisz (z opcjonalnym przytrzymaniem) by uzyskać szczegółowe informacje dla zdarzenia.</p>
	<input id="input" type="text" value="Wybierz mnie">

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

</body>

</html>

Na chwilę obecną jedynie przeglądarka Firefox prawidłowo obsługuje właściwość location. Chrome i IE11 zawsze zwracają boolowskie false.

Interfejs Web IDL#

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

Specyfikacje i inne materiały#

Pasek społecznościowy

SPIS TREŚCI AKTUALNEJ STRONY

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