MouseEvent#
MouseEvent.button#
Właściwość button
zwraca liczbę całkowitą reprezentującą konkretny przycisk, który spowodował wysłanie danego zdarzenia. 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 whatButton = mouseEvent.button;
gdzie poszczególne człony oznaczają:
whatButton
- liczba całkowita, której wartość wskazuje na konkretny przycisk. Dostępne są następujące możliwości:0
- wskazuje główny przycisk urządzenia (zazwyczaj lewy przycisk lub pojedynczy przycisk w urządzeniu jednoprzyciskowym, używany do aktywacji kontrolki interfejsu użytkownika lub zaznaczenia tekstu) lub wartość domyślną.1
- wskazuje przycisk pomocniczy (zazwyczaj środkowy przycisk, często w połączeniu z kółkiem myszy).2
- wskazuje przycisk drugorzędny (zazwyczaj prawy przycisk, często używany do wyświetlania menu kontekstowego).
Niektóre urządzenia wskazujące wprowadzają lub symulują więcej przycisków, i wartości wyższe od
2
lub niższe od0
mogą reprezentować tego typu przyciski.Wartość właściwości
button
nie jest uaktualniania dla zdarzeń, które nie zostały zapoczątkowane poprzez wciśnięcie lub zwolnienie przycisku myszy. W takich sytuacjach wartość0
nie powinna być interpretowana w kategoriach wciśniętego lewego przycisku, ale raczej jako wartość domyślna.Niektóre domyślne akcje skojarzone ze zdarzeniami takimi jak
mousedown
imouseup
zależą od tego, który przycisk został użyty.mouseEvent
- zdarzenie będące obiektem kontekstu.
Przy tworzeniu zdarzenia wartością domyślną dla właściwości button
musi być wartość 0
.
W czasie wysyłania zaufanych zdarzeń domyślna wartość przechowywana we właściwości button
ulegnie zmianie jedynie dla zdarzeń typu click
, dblclick
, mousedown
lub mouseup
, choć w szczegółach wszystko będzie zależne od użytego przycisku i danej implementacji.
W przypadku syntetycznych zdarzeń możemy samodzielnie ustawić wartość reprezentującą konkretny przycisk dla zdarzenia, np. w czasie tworzenia lub inicjowania zdarzenia.
Właściwości button
nie należy mylić z bardziej uniwersalną właściwością MouseEvent.buttons
.
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 = "Interfejs: " + e
+ "<br>" + "e.type: " + e.type
+ "<br>" + "e.button: " + e.button + "<br><br>";
info.innerHTML = data + info.innerHTML;
}
button.addEventListener("click", readInfo, false);
button.addEventListener("dblclick", readInfo, false);
button.addEventListener("mousedown", readInfo, false);
button.addEventListener("mouseup", readInfo, false);
}
</script>
</head>
<body>
<p>Kliknij w przycisk przy użyciu dowolnego przycisku myszy 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#
readonly attribute short button;