最新回答 / 东夋壬
首先要理解事件模型,事件模型大概可以看成一个勾√,左边是捕获阶段,右边是冒泡阶段,冒泡顾名思义就是从最下面向上传递。这个是你先将鼠标移动进去,发现是最里层的元素,名字不叫LI,假设是A,那么target.tagName != 'LI'条件成立,执行条件里的内容 target = target.parentNode;此时就找到了LI,然后再执行条件,条件不满足就跳出循环。此时已经获得了LI。
2019-05-20
最新回答 / 落日无声
因为你的li下面的元素,在你鼠标mouseover的时候,事件会往上冒泡,最终会冒泡到Body 所以要有一个终止条件,结束while循环,让事件源在li上终止
2018-10-26
最新回答 / 落日无声
也可以啊 直接 e.stopPropagation() -- 标准;IE 清除冒泡 event.cancelBubble = true;if(e.stopPropagation) { e.stopPropagation() } else { e.cancelBubble = true;}
2018-08-25