Event#
Event.timeStamp#
Właściwość timeStamp
zwraca liczbę całkowitą reprezentującą ilość milisekund jakie upłynęły od 00:00:00 UTC 1 stycznia 1970 roku aż do chwili utworzenia danego zdarzenia (z pominięciem sekund przestępnych). 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 milliseconds = event.timeStamp;
gdzie poszczególne człony oznaczają:
milliseconds
- liczba całkowita, której wartość wyraża ilość milisekund jakie upłynęły od 00:00:00 UTC 1 stycznia 1970 roku aż do chwili utworzenia zdarzenia (z pominięciem sekund przestępnych).event
- zdarzenie będące obiektem kontekstu.
Wartość właściwości timeStamp
jest utożsamiana z dedykowanym typem DOMTimeStamp
. Nie ulega ona zmianie w żadnym momencie propagacji zdarzenia po ścieżce propagacji.
Prosty przykład:
<!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>
Wszystkie aktualne przeglądarki prawidłowo obsługują właściwość timeStamp
, niestety z wyjątkiem Firefoksa, gdzie od bardzo długiego czasu właściwość jest całkowicie zepsuta (zwraca błędne wartości dla różnych przypadków testowych).
Interfejs Web IDL#
readonly attribute DOMTimeStamp timeStamp;