Skip to content

Commit ae89ee9

Browse files
committed
fix en #1739
1 parent ace5e66 commit ae89ee9

File tree

1 file changed

+11
-27
lines changed
  • 2-ui/2-events/01-introduction-browser-events

1 file changed

+11
-27
lines changed

2-ui/2-events/01-introduction-browser-events/article.md

Lines changed: 11 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -293,36 +293,20 @@ input.removeEventListener("click", handler);
293293
````warn header="Обработчики некоторых событий можно назначать только через `addEventListener`"
294294
Существуют события, которые нельзя назначить через DOM-свойство, но можно через `addEventListener`.
295295

296-
Например, таково событие `transitionend`, то есть окончание CSS-анимации.
296+
Например, таково событие `DOMContentLoaded`, которое срабатывает, когда завершена загрузка и построение DOM документа.
297297

298-
Вы можете проверить это, запустив код в примере ниже. В большинстве браузеров, сработает лишь второй обработчик, но не первый.
299-
300-
```html run
301-
<style>
302-
input {
303-
transition: width 1s;
304-
width: 100px;
305-
}
306-
307-
.wide {
308-
width: 300px;
309-
}
310-
</style>
311-
312-
<input type="button" id="elem" onclick="this.classList.toggle('wide')" value="Нажми меня">
313-
314-
<script>
315-
elem.ontransitionend = function() {
316-
alert("DOM property"); // не сработает
317-
};
298+
```js
299+
document.onDOMContentLoaded = function() {
300+
alert("DOM построен"); // не будет работать
301+
};
302+
```
318303

319-
*!*
320-
elem.addEventListener("transitionend", function() {
321-
alert("addEventListener"); // сработает по окончании анимации
322-
});
323-
*/!*
324-
</script>
304+
```js
305+
document.addEventListener("DOMContentLoaded", function() {
306+
alert("DOM построен"); // а вот так сработает
307+
});
325308
```
309+
Так что `addEventListener` более универсален. Хотя заметим, что таких событий меньшинство, это скорее исключение, чем правило.
326310
````
327311
328312
## Объект события

0 commit comments

Comments
 (0)