小羊也疯狂 2018-06-12 02:28 采纳率: 100%
浏览 991
已采纳

鼠标移动事件,为什么底层元素不触发?

图片说明
为什么在大图上移动,小图并不会触发mouseover事件

 imgs[i].addEventListener('mousemove',function (e) {
            var event = e || window.event;
            if(event.target.nodeName==='IMG'){
                console.log('IMG')}

只在小图上移动有打印,一旦移动到大图上就没有了,这是什么原因
当移动到大图上时,不该是那个点的所有元素都触发事件吗?

  • 写回答

6条回答 默认 最新

  • 邪恶八进制 2018-06-12 02:37
    关注

    没有在同一层,被遮住了,无法触发。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • firedragon2009 2018-06-12 02:35
    关注

    你这事件监听器只是针对所有img元素的,大图是id为big的div对吧,你没给它添加事件监听器...

    评论
  • yuanxiangren88 2018-06-12 03:19
    关注

    $(".test").mouseover(function(){
    alert("aaa");
    }).find("*").mouseover(function(){return false;});
    });

    评论
  • qq_42133859 2018-06-12 10:59
    关注

    $(function(){$(".t a").mouseover(function(){
    alert(1);
    })

    评论
  • vampirehua 2018-06-12 16:44
    关注

    事件监听是加在img上的,大图没作用

    评论
  • learner_ 2018-06-13 06:50
    关注

    你的事件估计是监听在ul下的img标签上了。

    imgs[i].addEventListener('mousemove',function (e) 
    

    在上面这句代码的外层,应该是一个for循环吧?

    大图是在

     <div id='big'></div>
    

    里面,没有被添加到事件。
    如果你需要给大图添加事件,你需要为id='big'的div也加上mousemove事件。

    如果你用jquery的话,可以使用

     $(document).ready(function () {
                $("body").delegate('img', 'mousemove', function () {这里写代码 });
            });
    
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 IDEA构建失败?怎么搞
  • ¥15 求该题的simpson,牛顿科特斯matlab代码,越快越好
  • ¥30 求解,有偿,可商量价格
  • ¥15 编译arm板子的gcc
  • ¥15 C++代码报错问题,c++20协程
  • ¥15 c++图Djikstra算法求最短路径
  • ¥15 Linux操作系统中的,管道通信问题
  • ¥15 ansible tower 卡住
  • ¥15 等间距平面螺旋天线方程式
  • ¥15 通过链接访问,显示514或不是私密连接