top remove previous event jquery bind unbind

previous - remove onchange event jquery



jQuery bind/unbind evento ''scroll'' en $(ventana) (6)

Muy vieja pregunta, pero en caso de que alguien más se tropiece con ella, recomendaría intentar:

$j("html, body").stop(true, true).animate({ scrollTop: $j(''#main'').offset().top }, 300);

Tengo esta función:

function block_scroll(key){ if (key) { $(window).bind("scroll", function(){ $(''html, body'').animate({scrollTop:0}, ''fast''); }); } else { $(window).unbind(); } }

La primera parte funciona como debería, pero cuando más tarde llamo block_scroll (false) - sigue bloqueando. Wat do?

RE-EDIT Así que como sugerí lo intenté ...

$(window).unbind("scroll");

... con algo de confusión. Al principio no funcionó, luego funcionó.

Ahora creo que falló porque estaba desplazándose en el momento en que se llamó block_scroll (false). He probado esto varias veces ahora. Y sí, si no hago nada mientras se ejecuta el script y se llama a block_scroll (false), funciona. Pero no funciona si me desplazo cuando se llama.


Necesitas:

unbind(''scroll'')

Por el momento, no está especificando el evento para desvincular.



Tenga en cuenta que las respuestas que sugieren el uso de unbind() ahora están desactualizadas ya documentation y se eliminará en versiones futuras de jQuery.

A partir de jQuery 3.0, .unbind () ha quedado en desuso. Fue reemplazado por el método .off () desde jQuery 1.7, por lo que su uso ya se desaconsejó.

En cambio, ahora debería usar off() :

$(window).off(''scroll'');


prueba esto:

$(window).unbind(''scroll'');

funciona en mi proyecto


$(window).unbind(''scroll'');

Aunque la documentation dice que eliminará todos los controladores de eventos si se llama sin argumentos, vale la pena intentarlo desvincularlo explícitamente.

Actualizar

Funcionó si utilizó comillas simples? Eso no suena bien, hasta donde yo sé, JavaScript trata las comillas simples y dobles de la misma manera (a diferencia de algunos otros lenguajes como PHP y C).