From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- files/ru/web/api/event/preventdefault/index.html | 145 +++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 files/ru/web/api/event/preventdefault/index.html (limited to 'files/ru/web/api/event/preventdefault/index.html') diff --git a/files/ru/web/api/event/preventdefault/index.html b/files/ru/web/api/event/preventdefault/index.html new file mode 100644 index 0000000000..de7b9c69c1 --- /dev/null +++ b/files/ru/web/api/event/preventdefault/index.html @@ -0,0 +1,145 @@ +--- +title: Event.preventDefault() +slug: Web/API/Event/preventDefault +tags: + - DOM + - preventDefault + - метод + - события +translation_of: Web/API/Event/preventDefault +--- +
{{ apiRef("DOM") }}
+ +
Метод preventDefault () интерфейса {{domxref ("Event")}} сообщает {{Glossary("User agent")}}, что если событие не обрабатывается явно, его действие по умолчанию не должно выполняться так, как обычно. Событие продолжает распространяться как обычно, до тех пор, пока один из его обработчиков не вызывает методы {{domxref ("Event.stopPropagation", " stopPropagation ()")}} или {{domxref (" Event.stopImmediatePropagation", " stopImmediatePropagation ()")}}, любой из которых сразу же прекращает распространение.
+ +
+ +
Как отмечено ниже, вызов метода preventDefault () для события, не подлежащего отмене, например события, отправленного через {{domxref("EventTarget.dispatchEvent ()")}}, без указания cancelable: true не имеет эффекта.
+ + + +

Синтаксис

+ +
event.preventDefault();
+ +

Пример

+ +

По умолчанию щелчок по флажку переключает его состояние на противоположное. В этом примере показано, как предотвратить такое поведение:

+ +
<!DOCTYPE html>
+<html>
+<head>
+<title>Пример preventDefault</title>
+
+<script>
+function stopDefAction(evt) {
+    evt.preventDefault();
+}
+
+document.getElementById('my-checkbox').addEventListener(
+    'click', stopDefAction, false
+);
+</script>
+</head>
+
+<body>
+
+<p>Пожалуйста, щёлкните по флажку.</p>
+
+<form>
+    <input type="checkbox" id="my-checkbox" />
+    <label for="my-checkbox">Checkbox</label>
+</form>
+
+</body>
+</html>
+ +

Вы можете посмотреть работу preventDefault в действии здесь.

+ +

В следующем примере некорректный ввод останавливается и вводимый символ не добавляется в поле с preventDefault().

+ +
+
<!DOCTYPE html>
+<html>
+<head>
+<title>Пример preventDefault</title>
+
+<script>
+
+ +
function Init () {
+    var myTextbox = document.getElementById('my-textbox');
+    myTextbox.addEventListener( 'keypress', checkName, false );
+}
+
+function checkName(evt) {
+    var charCode = evt.charCode;
+    if (charCode != 0) {
+        if (charCode < 97 || charCode > 122) {
+            evt.preventDefault();
+            alert(
+                "Пожалуйста, используйте только буквы нижнего регистра на латинице"
+                + "\n" + "charCode: " + charCode + "\n"
+            );
+        }
+    }
+}
+
+ +
</script>
+</head>
+<body onload="Init ()">
+    <p>Пожалуйста, введите своё имя, используя только буквы нижнего регистра на латинице.</p>
+    <form>
+        <input type="text" id="my-textbox" />
+    </form>
+</body>
+</html>
+
+ +

Результат выполнения кода:

+ +

{{ EmbedLiveSample('preventDefault_invalid_text', '', '', '') }}

+ +

Примечания

+ +

Вызов preventDefault на любой стадии выполнения  потока событий отменяет событие, а это означает, что любое действие по умолчанию обычно принимается реализацией, как  результат события, которое  не произойдет.

+ +
+

Примечание:  В {{Gecko("6.0")}}, вызов preventDefault() приводит к {{ domxref("event.defaultPrevented") }} к переходу значения в состояние True.

+
+ +

Вы можете использовать event.cancelable чтобы проверить, является ли событие отменяемым. Вызов preventDefault для неотменяемых событий не имеет никакого эффекта.

+ +

preventDefault не останавливает дальнейшее распространение событий на DOM. Для этого следует использовать event.stopPropagation.

+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('DOM WHATWG', '#dom-event-preventdefault', 'Event.preventDefault()')}}{{ Spec2('DOM WHATWG') }}
{{SpecName('DOM4', '#dom-event-preventdefault', 'Event.preventDefault()')}}{{ Spec2('DOM4') }}
{{SpecName('DOM2 Events', '#Events-Event-preventDefault', 'Event.preventDefault()')}}{{ Spec2('DOM2 Events') }} +

первичное определение.

+
-- cgit v1.2.3-54-g00ecf