aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/globaleventhandlers/onkeypress/index.html
blob: bb5a16e61b39474b1be23e456fc97c99a8433b16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---
title: GlobalEventHandlers.onkeypress
slug: Web/API/GlobalEventHandlers/onkeypress
translation_of: Web/API/GlobalEventHandlers/onkeypress
---
<div>{{ApiRef("HTML DOM")}}</div>

<h2 id="Описание">Описание</h2>

<p>Свойство<strong> onkeypress</strong> задаёт и возвращает код обработчика событий onKeyPress для текущего элемента.</p>

<h2 id="Синтаксис">Синтаксис</h2>

<pre class="syntaxbox">element.onkeypress = <em>код обработчика событий</em>
</pre>

<h2 id="Примечания">Примечания</h2>

<p>Событие нажатия <strong>должно</strong> вызываться тогда, когда пользователь нажимает клавишу на клавиатуре. Тем не менее, не все браузеры отрабатывают это событие для некоторых (определённых) клавиш.</p>

<h3 id="Несовместимость_в_браузерах">Несовместимость в браузерах</h3>

<p>Браузеры на основе Webkit (к примеру, Google Chrome и Safari) не отрабатывают события нажатия клавиш-указателей ("стрелок").</p>

<p>Firefox не отрабатывает события, в основе которых лежат клавиши управления (модификаторы) - такие, как, например, SHIFT.</p>

<h2 id="Спецификация">Спецификация</h2>

<p>Не является частью спецификации.</p>

<h2 id="Пример">Пример</h2>

<p>Следующий пример демонстрирует использование события <code>onkeypress</code>  в процессе заполнения поля формы (только) цифрами:</p>

<pre class="brush: html">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
&lt;title&gt;Пример&lt;/title&gt;
&lt;script&gt;
  function numbersOnly(oToCheckField, oKeyEvent) {
    return oKeyEvent.char === 0 || /\d/.test(String.fromCharCode(oKeyEvent.char));
  }
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;form name="myForm"&gt;
&lt;p&gt;Вводите только цифры: &lt;input type="text" name="myInput" onkeypress="return numbersOnly(this, event);" onpaste="return false;" /&gt;&lt;/p&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>