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>

 

posted @ 2021-11-05 21:19  小张同学的派大星吖  阅读(69)  评论(0编辑  收藏  举报