Event#
Event.defaultPrevented#
Właściwość defaultPrevented
zwraca boolowską wartość true
jeśli domyślne akcje dla danego zdarzenia zostały odwołane, 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 prevented = event.defaultPrevented;
gdzie poszczególne człony oznaczają:
prevented
- boolowskietrue
lubfalse
.event
- zdarzenie będące obiektem kontekstu.
Boolowska wartość true
zostanie zwrócona w chwili, kiedy flaga anulowania dla zdarzenia jest ustawiona. Kiedy flaga anulowania nie jest aktywna, to zwrócona zostanie boolowska wartość false
.
Przy tworzeniu zdarzenia wartością domyślną dla właściwości defaultPrevented
musi być boolowskie false
.
Za pomocą metody Event.preventDefault()
można anulować domyślne akcje, ale tylko wtedy, gdy zdarzenie na to pozwala, co można sprawdzić za pomocą właściwości Event.cancelable
.
Jeśli aplikacja DOM samodzielnie rozpoczyna wysyłanie zdarzenia to wartość zwracana przez metodę EventTarget.dispatchEvent()
informuje w analogiczny sposób, czy domyślne akcje dla obiektu zdarzenia zostały anulowane.
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>
Interfejs Web IDL#
readonly attribute boolean defaultPrevented;