【问题标题】:Prevent jQuery event queuing防止 jQuery 事件队列
【发布时间】:2011-01-28 09:54:39
【问题描述】:

我有以下运行良好的 jQuery:

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

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

});

</script>

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

【问题讨论】:

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多