diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/web/api/event/eventphase | |
parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip |
initial commit
Diffstat (limited to 'files/ru/web/api/event/eventphase')
-rw-r--r-- | files/ru/web/api/event/eventphase/index.html | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/files/ru/web/api/event/eventphase/index.html b/files/ru/web/api/event/eventphase/index.html new file mode 100644 index 0000000000..7ae3ee150d --- /dev/null +++ b/files/ru/web/api/event/eventphase/index.html @@ -0,0 +1,144 @@ +--- +title: Event.eventPhase +slug: Web/API/Event/eventPhase +tags: + - API + - DOM + - Gecko + - Gecko DOM Reference + - Property + - Reference +translation_of: Web/API/Event/eventPhase +--- +<p>{{ ApiRef("DOM") }}</p> + +<h3 id="Summary" name="Summary">Общая информация</h3> + +<p>Отображает текущую фазу процесса обработки события.</p> + +<h3 id="Syntax" name="Syntax">Синтаксис</h3> + +<pre class="eval"><em>var phase</em> = event.eventPhase; +</pre> + +<p>Возвращает целое число, соответствующее одной из 4 констант:</p> + +<ul> + <li><code>Event.NONE = 0</code></li> + <li><code>Event.CAPTURING_PHASE = 1</code></li> + <li><code>Event.AT_TARGET = 2</code></li> + <li><code>Event.BUBBLING_PHASE = 3</code></li> +</ul> + +<p>Смысл констант смотри в <a class="external" href="http://www.w3.org/TR/DOM-Level-3-Events/#event-flow">section 3.1, Event dispatch and DOM event flow</a>, спецификации DOM Level 3.</p> + +<h3 id="Пример">Пример</h3> + +<pre><!DOCTYPE html> +<html> +<head> <title>Event Propagation</title> + <style type="text/css"> + body { font-family:'Trebuchet MS'; } + div { margin: 20px; padding: 4px; border: thin black solid; } + #divInfo { margin: 18px; padding: 8px; background-color:white; font-size:80%; } + </style> +</head> +<body> + <h4>Event Propagation Chain</h4> + <ul> + <li>Click 'd1'</li> + <li>Analyse event propagation chain</li> + <li>Click next div and repeat the experience</li> + <li>Change Capturing mode</li> + <li>Repeat the experience</li> + </ul> + <input type="checkbox" id="chCapture" /> Use Capturing + <div id="d1">d1 + <div id="d2">d2 + <div id="d3">d3 + <div id="d4">d4</div> + </div> + </div> + </div> + <div id="divInfo"></div> + <script> + var + clear = false, + divInfo = null, + divs = null, + useCapture = false; + window.onload = function () + { + divInfo = document.getElementById("divInfo"); + divs = document.getElementsByTagName('div'); + chCapture = document.getElementById("chCapture"); + chCapture.onclick = function () + { + RemoveListeners(); + AddListeners(); + } + Clear(); + AddListeners(); + } + function RemoveListeners() + { + for (var i = 0; i < divs.length; i++) + { + var d = divs[i]; + if (d.id != "divInfo") + { + d.removeEventListener("click", OnDivClick, true); + d.removeEventListener("click", OnDivClick, false); + } + } + } + function AddListeners() + { + for (var i = 0; i < divs.length; i++) + { + var d = divs[i]; + if (d.id != "divInfo") + { + d.addEventListener("click", OnDivClick, false); + if (chCapture.checked) + d.addEventListener("click", OnDivClick, true); + d.onmousemove = function () { clear = true; }; + } + } + } + function OnDivClick(e) + { + if (clear) + { + Clear(); + clear = false; + } + + if (e.eventPhase == 2) + e.currentTarget.style.backgroundColor = 'red'; + + var level = + e.eventPhase == 0 ? "none" : + e.eventPhase == 1 ? "capturing" : + e.eventPhase == 2 ? "target" : + e.eventPhase == 3 ? "bubbling" : "error"; + divInfo.innerHTML += e.currentTarget.id + "; eventPhase: " + level + "<br/>"; + } + function Clear() + { + for (var i = 0; i < divs.length; i++) + { + if (divs[i].id != "divInfo") + divs[i].style.backgroundColor = (i & 1) ? "#f6eedb" : "#cceeff"; + } + divInfo.innerHTML = ''; + } + </script> +</body> +</html></pre> + +<h3 id="Specification" name="Specification">Спецификация</h3> + +<p><a class="external" href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-Event-eventPhase">DOM Level 2 Events: Event.eventPhase </a></p> + +<p>{{ languages( { "pl": "pl/DOM/event.eventPhase" } ) }}</p> |