2

我有以下运行良好的 jQuery:

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

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

});

</script>

除非#ListboxWrapper通过单击 来聚焦#btnDropDown。这会导致事件累积,并且操作会导致一些奇怪的结果。我正在寻找某种方法来阻止其中一个触发后的所有进一步的 jQuery 操作。预期的结果是它们中只有一个可以执行每个用户操作,而不是像现在这样建立起来。

4

1 回答 1

1

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

$("#btnDropDown").click(function() {
    $("#ListboxWrapper").not(":animated").slideDown("fast");
    $("#<%=lstBoxCompany.ClientID%>").focus();
});
于 2011-01-28T10:01:10.380 回答