2013-12-01 3 views
1

[jQuery] [1] всегда помнит триггеры мыши, либо клики, либо зависает. Поэтому, если вы выходите мыши и выходите-выходите четыре раза, он будет выполнять это событие четыре раза.Вспоминая триггеры в jQuery

Как заставить его «забыть» триггеры, так что, когда я нахожусь в мыши и выхожу из триггера, он выполняет его только один раз?

EDIT: Как бы это сделать в этом коде?

$("#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); 

}); 

ответ

3

jQuery «s функция one делает именно то, что вы ищете. Любое событие, которое вы подключаете, будет выполняться только один раз.

Например,

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

@Peter Мортенсен Спасибо за ответ! Как это работает в этом коде? Проверьте мой вопрос. –

+0

'$ (" # products "). One (" mouseenter ", function() {...})' может быть? @ChrisHolstein – alix

+0

Я узнал, что это не совсем то, что я ищу, –

Смежные вопросы