Вопрос

У меня есть следующий jQuery, который работает красиво:

<script>
$(document).ready(function() 
{ 
    $("#btnDropDown").click(function () {
        $("#ListboxWrapper").slideDown("fast");
        $("#<%=lstBoxCompany.ClientID%>").focus();
    });

    $("#ListboxWrapper").focusout(function () {
        $("#ListboxWrapper").slideUp("fast");
    });

});

</script>

Это за исключением При фокусировке #ListboxWrapper Нажав #btnDropDown. Анкет Это приводит к созданию событий, и действия приводят к некоторым странным результатам. Я ищу способ предотвратить все дальнейшие действия jQuery после того, как один из них уволен. Ожидаемый результат заключается в том, что только один из них может выполнять действие на пользователя и не нарастать, как это происходит сейчас.

Это было полезно?

Решение

Вы можете использовать : анимирован Селектор в очередь анимации только в том случае, если ваш элемент еще не анимирован:

$("#btnDropDown").click(function() {
    $("#ListboxWrapper").not(":animated").slideDown("fast");
    $("#<%=lstBoxCompany.ClientID%>").focus();
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top