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 54
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> #outer { padding: 20px; background: #616161; }
#inner { width: 100px; height: 100px; background: #757575; } </style> </head> <body> <div id="outer"> <div id="inner"></div> </div>
<script> const $inner = document.querySelector("#inner"); const $outer = document.querySelector("#outer");
function handler() { console.log("click");
Promise.resolve().then((_) => console.log("promise"));
setTimeout((_) => console.log("timeout"));
requestAnimationFrame((_) => console.log("animationFrame"));
$outer.setAttribute("data-random", Math.random()); }
new MutationObserver((_) => { console.log("observer"); }).observe($outer, { attributes: true, });
$inner.addEventListener("click", handler); $outer.addEventListener("click", handler);
$inner.click(); </script> </body> </html>
|