click被识别为双击jquery

click被识别为双击jquery,jquery,Jquery,我写这篇文章是因为我需要解决这个问题,当我点击我的div时,它不起作用,但只有我双击它才能起作用。和隐藏div一样,我需要单击两次来隐藏它 <div> <div class="parent"></div> <div class="child">list to show</div> 在console.log上,单击父Div后,行“asdasd”将递增1 我通过@click=“showAn

我写这篇文章是因为我需要解决这个问题,当我点击我的div时,它不起作用,但只有我双击它才能起作用。和隐藏div一样,我需要单击两次来隐藏它

 <div>
  <div class="parent"></div>
  <div class="child">list to show</div>
在console.log上,单击父Div后,行“asdasd”将递增1

我通过
@click=“showAndHide”

这就是问题所在。您已经嵌套了事件处理程序,因此每次额外单击都会发生N+1次切换

要解决此问题,请删除
@click=“showAndHide”
属性,并使用不引人注目的jQuery处理程序仅附加事件处理程序一次:

$('.Parent').click(() => {
  $('.Child').toggle();
  console.log("asdasd");
});
或者,保留
@click
属性并删除jQuery事件处理程序:

showAndHide() {
  $('.Child').toggle();
},

你能展示一个关于这个问题的工作示例吗,包括所有相关的HTML和JS。我猜您在单击元素时也在调用
showAndHide()
,因此您的事件处理程序嵌套在vue.js上,项目非常庞大,这是我的html代码X和这里的一些项目,可能是因为您第一次调用
showAndHide
会为以后的单击添加事件,而不会执行事件,只有第二次点击才绑定了事件?我通过@click=“showAndHide”在我的vuejs上调用它是的,它工作正常,谢谢你,如果我不善于表达我的问题,我很抱歉。
showAndHide() {
  $('.Child').toggle();
},