防止jQuery事件排队

时间:2011-01-28 09:54:39

标签: jquery jquery-click-event jquery-focusout

我有以下jQuery工作得很漂亮:

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

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

});

</script>

通过点击#ListboxWrapper关注#btnDropDown时,除外。这会导致事件积累,并且操作会导致一些奇怪的结果。我正在寻找一些方法来防止其中一个jQuery操作被解雇后进一步的jQuery操作。预期的结果是,只有其中一个可以执行每个用户操作而不是现在正在进行构建。

1 个答案:

答案 0 :(得分:1)

只有当您的元素尚未设置动画时,您才可以使用:animated选择器对动画进行排队:

$("#btnDropDown").click(function() {
    $("#ListboxWrapper").not(":animated").slideDown("fast");
    $("#<%=lstBoxCompany.ClientID%>").focus();
});