Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 31 Agosto 2020, 12:09 pm



Título: [Pregunta]: ¿Como eliminar un evento "unbind"?
Publicado por: Leguim en 31 Agosto 2020, 12:09 pm
Estoy usando unbind de jQuery para eliminar eventos, por ejemplo cuando se hace scroll pero quisiera ver si existe una forma de poder diferenciar estos eventos para luego desactivarlos ya que si tengo dos eventos scroll que hacen cosas totalmente diferente no quiero que con el unbind me desactive las dos solamente una... será con el uso de una variable? ¿como podría?


Título: Re: [Pregunta]: ¿Como eliminar un evento "unbind"?
Publicado por: MinusFour en 31 Agosto 2020, 19:03 pm
Con jQuery .off() (https://api.jquery.com/off/#off-events-selector-handler).

Código
  1. let scrollOne = function(e){ },
  2.    scrollTwo = function(e){ };
  3.  
  4. //agrega listeners
  5. $(window).on('scroll', scrollOne);
  6. $(window).on('scroll', scrollTwo);
  7.  
  8. //remueve listeners
  9.  
  10. $(window).off('scroll', scrollOne);
  11. $(window).off('scroll', scrollTwo);


Título: Re: [Pregunta]: ¿Como eliminar un evento "unbind"?
Publicado por: Leguim en 31 Agosto 2020, 19:14 pm
Gracias, ya lo pruebo!

EDIT:
así me pareció un código "más limpio" ¿Qué opinas?
Código
  1.        var x = $('#the_button').on('click', function()
  2.     {
  3.     alert('primer función');
  4.     });
  5.  
  6.     x.off();
  7.  
  8.     var y = $('#the_button').on('click', function()
  9.     {
  10.     alert('segunda función');
  11.     });
  12.