He estado luchando con esto por un tiempo. Estoy usando este código para monitorear la rueda del mouse para que pueda usarse para desplazarse con un control deslizante que tengo ... sin embargo, tiene un problema donde las acciones hacen cola así que si se desplaza rápidamente con la rueda del mouse (como cualquiera haría normalmente) se acumulan y causa un comportamiento defectuoso ... Sé manejar este tipo de problema con la animación, pero no con un monitor de rueda de ratón ...Jquery, desvincular el evento de la rueda del mouse y volver a vincularlo después de que se completen las acciones?
I desea hacer algo como desenganchar la rueda del mouse al inicio de la acción (en este caso, para desplazar la barra de desplazamiento después de mover la rueda del mouse) y volver a enlazar después, así que si el usuario hace demasiados desplazamientos demasiado rápido, solo ignora el desplazamiento inicial se completó .. Probé el código a continuación, pero no se vuelve a vincular, así que no estoy seguro de lo que estoy haciendo mal, cualquier consejo es apreciado.
$("#wavetextcontainer").bind("mousewheel", function(event, delta) {
//HERE IS WHERE EVENT IS UNBOUND:
$("#wavetextcontainer").unbind("mousewheel");
var speed = 10;
var mySlider = $("#slider");
var sliderVal = mySlider.slider("option", "value");
sliderVal += (delta*speed);
if (sliderVal > mySlider.slider("option", "max")) sliderVal = mySlider.slider("option", "max");
else if (sliderVal < mySlider.slider("option", "min")) sliderVal = mySlider.slider("option", "min");
$("#slider").slider("value", sliderVal);
event.preventDefault();
// HERE I WANT TO REBIND THE EVENT:
$("#wavetextcontainer").bind("mousewheel");
});
Gracias para la respuesta rápida, lo intentaré ... – Rick
Ahora veo ... las funciones anónimas son algo con lo que he luchado un poco ya que no funciona existen en los otros idiomas que he usado anteriormente ... esto me ayuda a aclararlo, gracias – Rick
@Rick - Bienvenido :) Agregué otra alternativa que puede simplificar las cosas aún más para ti, inténtalo. –