这样可以吗?第3小点要求没看明白,是需要设置为点击close,然后模拟btn触发了一次吗?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>方法的调用</title>
<style type="text/css">
#box{position: relative; width: 100px; height: 100px;
background-color: red; margin: 10px auto;}
#close{position: absolute; right: 0px; top: -4px; color: yellow;}
#btn{display: block; width: 100px; margin: 0 auto;}
#btn_open{display: none; width: 100px; margin: 0 auto;}
</style>
</head>
<body>
<div id="box">
<span id="close">X</span>
</div>
<button id="btn">关闭</button>
<button id="btn_open">打开</button>
<script type="text/javascript">
// 在此处补充代码
var elment={
box:document.getElementById("box"),
close:document.getElementById("close"),
btn:document.getElementById("btn"),
btn_open:document.getElementById("btn_open")
}
//封装关闭box
function Close(){
elment.box.style.display="none";
elment.btn.style.display="none";
elment.btn_open.style.display="block";
}
//封装打开box
function Open(){
elment.box.style.display="block";
elment.btn.style.display="block";
elment.btn_open.style.display="none";
}
elment.close.addEventListener("click",Close);
elment.btn.addEventListener("click",Close);
elment.btn_open.addEventListener("click",Open);
</script>
</body>
</html>
也就是说需要设置成close.onclick= elment.btn.onclick( )吗?
正在回答
同学你好!
同学写的就是jsDom2级绑定事件
html事件是没有2级的。可以看下html事件和jsDom事件
再看下JS中dom0级事件dom0级和dom2级的区别事件
这是dom0级:document.getElementById("btn").onclick = function(){};
这是dom2级:document.getElementById("btn").addEventListener("click", function(){}, false);
dom0级后面绑定的事件会覆盖前面绑定的事件,点击的时候会执行新绑定的
dom2级不会覆盖前面绑定的事件,点击的时候所有绑定的事件会依次执行一遍
同学是不是混淆了,可以看着理解一下
如果帮助到了你 欢迎采纳 祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星