Prevenir la cola de eventos jQuery
-
26-10-2019 - |
Pregunta
Tengo el siguiente jQuery que funciona maravillosamente:
<script>
$(document).ready(function()
{
$("#btnDropDown").click(function () {
$("#ListboxWrapper").slideDown("fast");
$("#<%=lstBoxCompany.ClientID%>").focus();
});
$("#ListboxWrapper").focusout(function () {
$("#ListboxWrapper").slideUp("fast");
});
});
</script>
Esto es excepto Al concentrarse de #ListboxWrapper
Al hacer clic en #btnDropDown
. Esto hace que los eventos se acumulen y las acciones causan algunos resultados extraños. Estoy buscando alguna forma de evitar todas las acciones de jQuery después de que uno de ellos haya disparado. El resultado esperado es que solo uno de ellos puede realizar por acción del usuario y no acumularse como está ocurriendo ahora.
Solución
Puedes usar el :animado Animaciones de selección para cola solo si su elemento aún no está animado:
$("#btnDropDown").click(function() {
$("#ListboxWrapper").not(":animated").slideDown("fast");
$("#<%=lstBoxCompany.ClientID%>").focus();
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow