Frage

Ich habe die folgende JQuery, die wunderschön funktioniert:

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

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

});

</script>

Dies ist außer Wenn man sich konzentriert, #ListboxWrapper durch Klicken auf #btnDropDown. Dies führt dazu, dass sich die Ereignisse aufbauen und die Handlungen einige seltsame Ergebnisse verursachen. Ich suche nach einer Möglichkeit, alle weiteren JQuery -Aktionen zu verhindern, nachdem einer von ihnen gefeuert wurde. Das erwartete Ergebnis ist, dass nur eine von ihnen pro Benutzeraktion ausführen kann und sich nicht so aufbauen kann, wie es jetzt vorkommt.

War es hilfreich?

Lösung

Du kannst den ... benutzen : animiert Selektor für Warteschlangenanimationen nur, wenn Ihr Element noch nicht animiert ist:

$("#btnDropDown").click(function() {
    $("#ListboxWrapper").not(":animated").slideDown("fast");
    $("#<%=lstBoxCompany.ClientID%>").focus();
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top