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、i不能等于7,因为索引是从0开始的,最大的索引是6。

2、(1)定义一个变量,用来接收开始的li中的内容。
(2)可以使用e.target,来获取当前触发事件的元素。
(3)循环给每个元素添加一个id;(用来标识是第几个)
(4)鼠标移入的时候,获取当前元素的内容,赋值给定义好的变量。
(5)然后给当前的元素设置内容,以及样式。
(6)鼠标移入的时候,把变量(保存元素内容的变量),赋值给当前元素的内容。
(7)设置样式的改变。例:

希望能帮助到你,欢迎采纳。
祝学习愉快!
- 参与学习 人
- 提交作业 209 份
- 解答问题 3299 个
本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星