diff --git a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation-2.view/script.js b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation-2.view/script.js index 6a3202467e..aa75ac0261 100755 --- a/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation-2.view/script.js +++ b/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave/mouseenter-mouseleave-delegation-2.view/script.js @@ -28,16 +28,8 @@ table.onmouseout = function(event) { // e.g. from to another if (!currentElem) return; - // we're leaving the element – where to? Maybe to a descendant? - let relatedTarget = event.relatedTarget; - - while (relatedTarget) { - // go up the parent chain and check – if we're still inside currentElem - // then that's an internal transition – ignore it - if (relatedTarget == currentElem) return; - - relatedTarget = relatedTarget.parentNode; - } + // if we're still inside currentElem, then that's an internal transition – ignore it + if (currentElem.contains(event.relatedTarget)) return; // we left the . really. onLeave(currentElem);