tag remove disabled attribute javascript jquery

javascript - tag - jquery remove attribute disabled



Cómo detener un efecto en jQuery (3)

Enumeré esto como un comentario para la respuesta aceptada, pero pensé que sería una buena idea publicarlo como una respuesta independiente, ya que parece ayudar a algunas personas que tienen problemas con .stop()

FYI - Estaba buscando esta respuesta también (tratando de detener un efecto Pulsate), pero tenía un .stop() en mi código.

Después de revisar los documentos, necesitaba .stop(true, true)

Tengo una página que usa

$(id).show("highlight", {}, 2000);

para resaltar un elemento cuando empiezo una solicitud de AJAX, puede fallar, así que quiero usar algo como

$(id).show("highlight", {color: "#FF0000"}, 2000);

en el controlador de errores. El problema es que si el primer resaltado no ha terminado, el segundo se coloca en una cola y no se ejecutará hasta que el primero esté listo. De ahí la pregunta: ¿puedo de alguna manera detener el primer efecto?


.stop (true, true) congelará el efecto, por lo que si es invisible en ese momento, permanecerá invisible. Esto podría ser un problema si está usando el efecto de pulsación.

$(''#identifier'').effect("pulsate", {times:5}, 1000);

Para evitar esto agregué

$(''#identifier'').stop(true, true).effect("pulsate", { times: 1 }, 1);


De los documentos jQuery:

http://docs.jquery.com/Effects/stop

Detenga la animación actualmente en ejecución en los elementos coincidentes. ...

Cuando se llama a .stop() en un elemento, la animación actualmente en ejecución (si hay alguna) se detiene inmediatamente. Si, por ejemplo, un elemento se oculta con .slideUp() cuando se llama a .stop() , el elemento seguirá .stop() , pero será una fracción de su altura anterior. Las funciones de devolución de llamada no son llamadas.

Si se llama a más de un método de animación en el mismo elemento, las animaciones posteriores se colocan en la cola de efectos para el elemento. Estas animaciones no comenzarán hasta que termine la primera. Cuando se llama a .stop() , la siguiente animación en la cola comienza inmediatamente. Si el parámetro clearQueue se proporciona con un valor de true , entonces el resto de las animaciones en la cola se eliminan y nunca se ejecutan.

Si el argumento jumpToEnd se proporciona con un valor verdadero, la animación actual se detiene, pero al elemento se le jumpToEnd inmediatamente los valores objetivo para cada propiedad CSS. En nuestro ejemplo .slideUp() , el elemento se .slideUp() inmediatamente. La función de devolución de llamada se llama inmediatamente, si se proporciona ...