Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Исследование W3C Модели событий
Третий параметр метода addEventListener() объекта EventTarget указывает, можно ли перехватить событие обработчиком события родительского объекта для данного целевого объекта.
Пример назначения целевого объекта и отправки объекта Event с помощью метода addEventListener() объекта EventTarget.
Исходный код этого примера:
<style>
#myDIV {
border: 2px solid #2375b1;
padding: 15px;
margin: 10px 0;
}
td {
text-align:center;
border: 1px solid #000;
}
tr:nth-child(1),
tr:nth-child(2) {
background-color:#ff9;
}
tr:nth-child(3),
tr:nth-child(4) {
background-color:#f99;
}
td input[type="button"] {
background-color: transparent;
border: none;
cursor: pointer;
}
</style>
<script type="text/javascript">
// add event listeners
function addBubbleListener(elemID) {
document.getElementById(elemID).addEventListener("click", reportEvent, false);
}
function addCaptureListener(elemID) {
document.getElementById(elemID).addEventListener("click", reportEvent, true);
}
// remove event listeners
function removeBubbleListener(elemID) {
document.getElementById(elemID).removeEventListener("click", reportEvent, false);
}
function removeCaptureListener(elemID) {
document.getElementById(elemID).removeEventListener("click", reportEvent, true);
}
// display details about any event heard
function reportEvent(evt) {
var elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target;
if (elem.id == "mySPAN") {
var msg = "Event processed at " + evt.currentTarget.tagName +
" element (event phase = " + evt.eventPhase + ").\n";
document.controls.output.value += msg;
}
}
// clear the details textarea
function clearTextArea() {
document.controls.output.value = "";
}
</script>
<body id="myBODY">
<h1>Исследование W3C Модели событий</h1>
<p>
Третий параметр метода addEventListener() объекта EventTarget указывает, можно ли перехватить
событие обработчиком события родительского объекта для данного целевого объекта.
</p>
<p>
Пример назначения целевого объекта и отправки объекта Event с помощью метода addEventListener() объекта EventTarget.
</p>
<form name="controls" id="controls">
<table>
<caption style="font-weight:bold">Control Panel</caption>
<tr>
<td rowspan="2">всплытие запрещено:</td>
<td><input type="button" value="Добавить в body" onclick=
"addBubbleListener('myBODY')"></td>
<td><input type="button" value="Удалить из body" onclick=
"removeBubbleListener('myBODY')"></td>
</tr>
<tr>
<td><input type="button" value="Добавить в div" onclick=
"addBubbleListener('myDIV')"></td>
<td><input type="button" value="Удалить из div" onclick=
"removeBubbleListener('myDIV')"></td>
</tr>
<tr>
<td rowspan="2">всплытие разрешено:</td>
<td><input type="button" value="Добавить в body" onclick=
"addCaptureListener('myBODY')"></td>
<td><input type="button" value="Удалить из body" onclick=
"removeCaptureListener('myBODY')"></td>
</tr>
<tr>
<td><input type="button" value="Добавить в div" onclick=
"addCaptureListener('myDIV')"></td>
<td><input type="button" value="Удалить из div" onclick=
"removeCaptureListener('myDIV')"></td>
</tr>
</table>
<div id="myDIV">
<span id="mySPAN">
Этот блок, внутри которого в span заключен текст.<br>
Нажимайте сюда мышью для просмотра возникающих событий.
</span>
</div>
<p>Характеристики события:
<input type="button" value="Clear" onclick="clearTextArea()">
</p>
<textarea name="output" cols="80" rows="6"></textarea>
</form>
.
Прокомментировать/Отблагодарить