Вы переписываете innerHTML
элемента div
в событии mouseover
.Это означает, что каждый раз, когда вы перемещаете мышь, она фактически перемещается по новому узлу, который вызывает новое событие mouseover
на этом узле, которое всплывает до элемента div
, который переписывает innerHTML
и т. Д. И т. Д..
Таким образом, к тому времени, когда событие mouseout
запускается на внутреннем div
, событие mouseover
уже переписало innerHTML
на внешнем div
, и, таким образом, внутреннее div
не имеет родителя ...
То, что вы действительно хотите использовать, это событие mouseenter
(и предположительно событие mouseleave
на внутреннем div
), которое раньше было проприетарным для Internet Explorer, но в соответствии с MDN Firefox 10 и Opera 11.10 также поддерживают его.