请问如何实现vue点击其他地方隐藏div
网友回复
1、原生方法
js的contains方法用来查看dom元素的包含关系
<div id="box" style="width:110px;height:110px;background-color:red"></div>
<script type="text/javascript">
document.addEventListener('click', (e)=> {
var box = document.getElementById('box');
if (box.contains(e.target)) {
alert('点在内');
} else {
alert('点在外');
}
})
</script>
2、 vue 写法
ref是vue获取DOM元素的方法,在标签上绑定ref属性,js在组件内部用this.$refs.ref的值,调用。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>BFW NEW PAGE</title>
<script id="bfwone" data="dep=vue.2.2.min&err=0" type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/bfwone.js"></script>
<script type="text/javascript">
bready(function() {
var app = new Vue({
el: '#app',
data: {
isshow: true
},
created() {
document.addEventListener('click', (e)=> {
//console.log(this.$refs.box);
if (!this.$refs.box.contains(e.target)) {
this.isshow = false;
}
})
}
});
});
</script>
<style>
</style>
</head>
<body>
<div id="app">
<div id="box" ref="box" v-sh...点击查看剩余70%
如何让ai生成的视频和图片人物更逼真接近真人?
claude mythos这么厉害为啥不公开发布给所有人使用?
linux stream如何限制单个目录最大容量?
哪有免费的千问qwen3.6-plus的api可以使用?
python如何自动根据视频图片等素材自动按照要求剪辑视频生成剪映草稿?
gemma4与开源的qwen3.5哪个更厉害?
wan2.7 video与seedance2哪个更好?
claude code 51万行代码泄露被迫开源在哪能找到源码?
有没有免费的虚拟局域网工具可以将互联网设备组成一个大的局域网?
全球顶尖大模型这么强,为啥AGI 测试集体溃败 人类满分 AI 最高仅 0.37%?


