2-5编程练习,这个用事件冒泡的方式怎么写,我的错误在那里?

2-5编程练习,这个用事件冒泡的方式怎么写,我的错误在那里?

老师这个用事件冒泡的方式怎么写,我的错误在那里?

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

    <ul>

        <li>HTML</li>

        <li>CSS</li>

        <li>JavaScript</li>

        <li>jquery</li>

        <li>HTML5</li>

        <li>CSS3</li>

        <li>ES6</li>

    </ul>

    <script type="text/javascript">

        //补充代码

        var ul=document.getElementsByTagName("ul")[0];

        var li=ul.getElementsByTagName("li");

        ul.onmouseover=function(){

        for(let i=0;i<=7;i++){

        li[i].innerText=li[i].innerText+"我是第"+(i+1)+"个";

        li[i].style.color="red";

        li[i].style.fontSize="120%"

        }

        }

        ul.onmouseout=function(){

        for(let i=0;i<=7;i++){

        li[i].innerText=oldlis;

        li[i].style.color="";

        li[i].style.fontSize="";

        }

        }

    </script>

</body>

</html>


正在回答

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

1回答

同学你好,事件冒泡是往上冒泡,即:子元素触发父元素的事件。这里的这个把事件设置给父级是事件委托哦。

使用事件委托的话,代码有以下需要修改的:

1、i不能等于7,因为索引是从0开始的,最大的索引是6。

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

2、(1)定义一个变量,用来接收开始的li中的内容。

(2)可以使用e.target,来获取当前触发事件的元素。

(3)循环给每个元素添加一个id;(用来标识是第几个)

(4)鼠标移入的时候,获取当前元素的内容,赋值给定义好的变量。

(5)然后给当前的元素设置内容,以及样式。

(6)鼠标移入的时候,把变量(保存元素内容的变量),赋值给当前元素的内容。

(7)设置样式的改变。例:

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

希望能帮助到你,欢迎采纳。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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