/ / Zapamiętywanie wyzwalaczy w jQuery - jquery, triggers

Zapamiętywanie wyzwalaczy w jQuery - jquery, wyzwalacze

[jQuery] [1] zawsze zapamiętuje twoje wyzwalacze myszy, albo kliknięcia, albo zawieszenia. Jeśli więc cztery razy klikniesz myszą i wyjdziesz myszą, wykonasz to zdarzenie cztery razy.

Jak sprawić, by "zapomniał" o wyzwalaczach, tak aby po kliknięciu myszą i wyprowadzeniu wyzwalacza wykonano ją tylko raz?

EDYTOWAĆ: Jak mam to zrobić w tym kodzie?

$("#products").mouseenter (function () {
$(".slider").animate({"margin-top":"0px"},750);
$("#p_dropdown").animate({"height":"96px","margin-top":"45px"}, 750);
$(".products_dropdown").animate({"height":"32px"},750);
});
$("#p_dropdown").mouseleave( function() {
$(".slider").delay(750).queue(function(n){$(this).animate({"margin-top":"46px"},1150)});
$("#p_dropdown").animate({"height":"0"}, 750);
$(".products_dropdown").animate({"height":"0px"},750);

});

Odpowiedzi:

3 dla odpowiedzi № 1

jQuery"s funkcja jeden robi dokładnie to, czego szukasz. Każde zdarzenie, które się połączysz, zostanie wykonane tylko raz.

Na przykład,

$("#div1").one("click", function() {
alert("Will be shown only once");
});