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:
var repeated = keyboardEvent.repeat;
gdzie poszczególne człony oznaczają:
repeated
- boolowskietrue
lubfalse
.keyboardEvent
- zdarzenie będące obiektem kontekstu.
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:
<!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#
readonly attribute boolean repeat;