UIEvent#
UIEvent.detail#
Właściwość detail
zwraca liczbę całkowitą reprezentującą szczegółowe informacje powiązane z danym zdarzeniem. Jeśli szczegółowe informacje nie zostały przekazane w czasie tworzenia zdarzenia, to zwracana będzie wartość 0
. 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 ui_detail = uiEvent.detail;
gdzie poszczególne człony oznaczają:
ui_detail
- szczegółowe informacje w postaci liczby całkowitej.uiEvent
- zdarzenie będące obiektem kontekstu.
Przy tworzeniu zdarzenia wartością domyślną dla właściwości detail
musi być wartość 0
.
W czasie wysyłania zaufanych zdarzeń wartość przechowywana we właściwości detail
będzie uzależniona od typu zdarzenia. Z praktycznego punktu widzenia istotne są jedynie zdarzenia modułu myszy (np. mousedown
, mouseup
, click
i dblclick
), gdzie zwracana wartość informuje, ile razy przycisk myszy został wciśnięty. Ilość kliknięć ustalana jest w oparciu o aktualny licznik kliknięć.
W przypadku syntetycznych zdarzeń możemy samodzielnie ustawić szczegółowe informacje dla zdarzenia, np. w czasie tworzenia lub inicjowania zdarzenia.
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");
function readInfo(e){
var data = "e.type: " + e.type
+ "<br>" + "e.detail: " + e.detail + "<br><br>";
info.innerHTML = data + info.innerHTML;
}
button.addEventListener("click", readInfo, false);
button.addEventListener("dblclick", readInfo, false);
}
</script>
</head>
<body>
<p>Kliknij w przycisk by uzyskać szczegółowe informacje dla zdarzeń.</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ść detail
, oczywiście z wyjątkiem IE11, która nie zlicza ilości kliknięć i za każdym razem zwraca 0
.
Interfejs Web IDL#
readonly attribute long detail;