【发布时间】:2018-04-30 21:54:09
【问题描述】:
很抱歉在 Vue 有点新手。我试图找出为什么我的一个点击功能没有触发多个元素。
#app-icon 上的点击有效。但是,该函数不会为任何一个标签触发(甚至添加事件侦听器)。
我有一个基于 HTML 的结构:
<header id="topbar">
<div id="app-menu">
<i id="app-icon" @click="clickEffect($event)" class="fa fa-bars"></i>
<form id="searchVideos" action="#" method="POST">
<label>
<i class="fa fa-search"></i>
<input v-on:keyup="ChangeVideos" type="text" class="search" placeholder="Search anything">
</label>
<label class="label-videos" @click="clickEffect($event)" id="videos-mine">
<input type="radio" checked name="search-val">
<i class="fa fa-user"></i>
</label>
<label class="label-videos" v-on:click="clickEffect($event)" id="videos-all">
<input type="radio" name="search-val">
<i class="fa fa-users"></i>
</label>
</form>
<div class="login">
<a href="#" class="btn">Login</a>
</div>
</div>
</header>
还有我的 VueJS 脚本:
var buttonClick = new Vue({
el: '#topbar',
data: {
clicked: false,
},
methods: {
clickEffect: (event) => {
console.log(1);
let el = event.target;
el.classList.add("clicked");
setTimeout(function() {
el.classList.remove("clicked");
}, 500);
}
}
});
【问题讨论】:
-
在浏览器检查器中检查您的 html,实际上添加了“点击”类,然后将其删除到您的标签中(我在 fiddle 中对其进行了测试,它可以工作)
标签: javascript html vue.js