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" это может быть ваша ошибка?