Practical Training JS-鼠标事件 onmouseenter 和 onmouseover 的区别
当为onmouseenter时不会冒泡,及不会重复触发父级事件,在进入父级时也不会触发子级事件。
当为onmouseover时会冒泡,只要进入到标签内就会触发标签内所有子集标签的事件,且在移动过程中父级标签会重复触发,出现连续触发的问题,可以用原生js方法阻止事件冒泡
理解:
// over 严格意义上是在什么的上面
// enter 是进入
<script> window.onload = function(){ var imgs = document.querySelectorAll("li img"); var big = document.querySelector(".big"); for (let i = 0; i< imgs.length; i++) { imgs[i].onmousemove = function(e){ // 上下是y轴,左右是x轴 e.y+10+"px"让鼠标离big有距离 big.style.top = e.y+10+"px"; big.style.left = e.x+10+"px"; // 把你移动的图片进行随机的改变 big.src = this.src; } // 移出隐藏 imgs[i].onmouseout = function(){ big.style.display = "none"; } // over 严格意义上是在什么的上面 // enter 是进入 // 移入显示 imgs[i].onmouseenter = function(){ // 显示 big.style.display = "block"; } } } </script>