如果不清除冒泡,和清除冒泡的区别在哪?我在不清除冒泡的情况下打印index,也只打印一次

如果不清除冒泡,和清除冒泡的区别在哪?我在不清除冒泡的情况下打印index,也只打印一次

$(document).ready(function(){

var index=0;

    $('a').add(document).on({

    mouseenter:function(event){

        index=$(this).index();

        swiper();

        

    },

    keydown:function(event){

        if(event.keyCode==37){

            index=index>0?--index:$('a').length-1;

console.log(index);

        }

        else if(event.keyCode==39){

        index=index<$('a').length-1?++index:0;

        }

        else{

            return true;

        }

        swiper();}

    });


    var swiper=function(){

        $('img').eq(index).css({'opacity':'1'}).siblings().css({'opacity':'0'});

    }

});

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,a元素需要点击访问之后才会支持keydown事件,和document不一样,类似的还有input,textarea等标签,自己可以测试下。

祝学习愉快!

好帮手慕星星 2019-12-11 12:03:59

同学你好,因为代码中给a和document元素都绑定了mouseenter事件:

http://img1.sycdn.imooc.com//climg/5df06a8c0908f7b403090038.jpg

所以移入document的时候会触发,但是当你移入a的时候并不会再次触发document的移入事件。

祝学习愉快!

  • 提问者 王嘉炜 #1
    那keydown事件是否冒泡,我给a和document绑定的keydown事件,只有一个元素触发了事件,也只打印了一次
    2019-12-11 12:09:40
好帮手慕星星 2019-12-11 11:49:49

同学你好,这里不清除事件冒泡也是可以的,因为mouseenter事件本身就是不冒泡的,换成mouseover事件才会冒泡。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 王嘉炜 #1
    如果mouseenter不冒泡,为什么我鼠标移入浏览器的时候,index就被打印出来了
    2019-12-11 11:59:30
  • 提问者 王嘉炜 #2
    $(document).ready(function(){ var index=0; $('a').add(document).on({ mouseenter:function(event){ index=$(this).index(); swiper(); console.log(index); }, keydown:function(event){ if(event.keyCode==37){ index=index>0?--index:$('a').length-1; console.log(index); } else if(event.keyCode==39){ index=index<$('a').length-1?++index:0; } else{ return true; } swiper();} }); var swiper=function(){ $('img').eq(index).css({'opacity':'1'}).siblings().css({'opacity':'0'}); } });
    2019-12-11 12:00:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师