【发布时间】:2019-07-09 00:42:39
【问题描述】:
我正在使用 Bootstrap 和 VueJS 开发一个应用程序。
我正在开发一个类似于 Google 驱动器的文件夹结构,其中我想在选中一个 div 时以蓝色突出显示它。
代码如下:
export default{
mounted(){
$(document).ready(function () {
let that = this;
$("#div").on("click", ".folderRectangle", function () {
$(that).css("background-color", "blue");
$(".folderRectangle").not(that).css("background-color", "white");
});
});
}
}
.folderRectangle {
x: 220px;
y: 473px;
width: 299px;
height: 62px;
background-color: #FFFFFF;
border: 1px solid #BDBDBD;
border-radius: 0px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div class="row">
<div class="col-xl-3 col-md-6">
<stats-card>
<div slot="header" class="folderRectangle" id="div">
<div class="row">
<div class="col-3">
<div class="clearfix">
<i class="material-icons" id="folder-image"></i>
</div>
</div>
<div class="col-9">
<div class="clearfix" style="position: relative">
<div>
<p style="text-align: left">Folder Name</p>
</div>
<div>
<p style="text-align:left">20 files</p>
</div>
</div>
</div>
</div>
</div>
</stats-card>
</div>
<div class="col-xl-3 col-md-6">
<stats-card>
<div slot="header" class="folderRectangle" id="div">
<div class="row">
<div class="col-3">
<div class="clearfix">
<i class="material-icons" id="folder-image"></i>
</div>
</div>
<div class="col-9">
<div class="clearfix" style="position: relative">
<div>
<p style="text-align: left">Folder Name</p>
</div>
<div>
<p style="text-align:left">20 files</p>
</div>
</div>
</div>
</div>
</div>
</stats-card>
</div>
</div>
当我尝试单击 div 时,我无法使用 onClick 更改 div 的 css 颜色。我在做什么错?有人可以帮帮我吗?
【问题讨论】:
-
不要在
mounted钩子中放置 jQuery$(document).ready()处理程序;它永远不会运行,因为文档在你的组件被挂载之前很久就准备好了 -
所以我应该只有 $("#div").on("click", ".folderRectangle", function () {}) 吗?
-
您能解释一下我该怎么做吗?
-
您可以使用 VueJS.com 网站。 VueJS - Class and Style bindings
标签: javascript jquery html css vue.js