JQuery mousedown vs click

сегодня я обнаружил что-то, что было довольно запутанным для меня. Я просто попытался скрыть s.th через jquery... сначала я попытался использовать этот

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

.... но он не работает.

Через некоторое время я попробовал это следующим образом:

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

Может ли кто-нибудь объяснить мне, почему mousedown работает вместо щелчка? Было бы здорово узнать

ИЗМЕНИТЬ

отредактирован anotherdiv.

Ответ 1

Возможные причины:

  • Событие mousedown выполняет до click, поэтому сначала нужно сначала выполнить.
  • Элемент может иметь уже событие click, которое предотвращает это, скажем, что функция выполняется первым, и в нем есть оператор return false.

Теперь, когда вы используете mousedown, который не назначен для этого элемента, он не имеет конфликтов. Это может быть причиной, потому что вы не опубликовали полный код. Не стесняйтесь исправлять.:)

В меньшей заметке у вас есть $(".anotherdiv").hide(); в первом коде и $(".another").hide(); во втором коде, в отсутствует div. Это проблема?

Ответ 2

Фактически событие mousedown запускается, когда вы нажимаете кнопку, даже если вы не позволяете кнопке вверх. Щелчок похож на мышь, когда вы позволяете кнопке подниматься вверх.

В вашем коде у вас есть: ".anotherdiv" и ".another" это может быть ваша ошибка?