通过单击链接在屏幕上打开一个框,并在JS中的外部单击时将其隐藏的解决方案如下:
<a>
标签创建一个链接,同时给它一个唯一的id
属性,如下所示:<a href="#" id="myLink">点击打开框</a>
接下来,在HTML的任意位置添加一个<div>
元素,作为要显示的框,给它一个唯一的id
属性,并设置初始状态为隐藏,如下所示:
<div id="myBox" style="display:none;">这是一个框</div>
getElementById()
方法获取链接和框的引用,如下所示:var link = document.getElementById("myLink");
var box = document.getElementById("myBox");
然后,添加单击链接显示框的事件处理程序,当链接被点击时,将框的显示状态设置为可见,如下所示:
link.onclick = function() {
box.style.display = "block";
}
最后,添加外部单击隐藏框的事件处理程序,当用户在页面的其他地方点击时,将框的显示状态设置为隐藏,如下所示:
document.onclick = function(event) {
if (event.target != box && event.target != link) {
box.style.display = "none";
}
}
以上代码中的event.target
表示触发事件的元素,通过判断event.target
是否等于框或链接,来确定是否要隐藏框。
完整代码示例:
<!DOCTYPE html>
<html>
<head>
<title>打开和隐藏框</title>
</head>
<body>
<a href="#" id="myLink">点击打开框</a>
<div id="myBox" style="display:none;">这是一个框</div>
<script>
var link = document.getElementById("myLink");
var box = document.getElementById("myBox");
link.onclick = function() {
box.style.display = "block";
}
document.onclick = function(event) {
if (event.target != box && event.target != link) {
box.style.display = "none";
}
}
</script>
</body>
</html>
这个解决方案可以在点击链接时显示框,并在点击框外的区域时隐藏框。您可以根据自己的需求自定义链接文本、框内容和样式。
领取专属 10元无门槛券
手把手带您无忧上云