13

今天我发现了一件让我很困惑的事情。我只是试图通过 jquery 隐藏 s.th ...首先我尝试使用它

$(".specificdiv li:nth-child(3)").click(function(){
    $(".anotherdiv").hide();
})

....但它不起作用。

一段时间后,我这样尝试:

$(".specificdiv li:nth-child(3)").mousedown(function(){
    $(".anotherdiv").hide();
})

谁能解释我为什么 mousedown 工作而不是单击?很高兴发现

编辑

编辑另一个div。

4

2 回答 2

21

可能的原因:

  1. 该事件在之前mousedown执行,所以先到先得。 click
  2. 该元素可能已经有一个click事件,可以防止这种情况发生,例如该函数首先执行并且其中有一条return false语句。

现在,由于您使用mousedown的是未分配给此元素的 ,因此它没有任何冲突。这可能是一个原因,因为您没有发布完整的代码。随意纠正。:)

在一个较小的注释中,您$(".anotherdiv").hide();在第一个代码和$(".another").hide();第二个代码中缺少div类中的 。那是问题吗?

于 2013-02-12T18:40:34.937 回答
1

实际上,当您按下按钮时会触发 mousedown 事件,即使您没有松开按钮。当您让按钮向上时,单击就像 mouseup。

在您的代码中,您有:“.anotherdiv”和“.another”这可能是您的错误吗?

于 2013-02-12T18:43:58.997 回答