Me he quedado aquí con un pequeño problema que he puesto bastante tiempo en el que es bastante malo en comparación con su funcionalidad.Habilitar/Deshabilitar eventos de elementos DOM con JS/jQuery
tengo etiquetas en mi DOM, y yo he sido vinculante varios eventos a ellos con jQuery ..
var a = $('<a>').click(data, function() { ... })
A veces me gustaría desactivar algunos de estos elementos, lo que significa que añadir CSS-Class 'desactivado' y me gustaría eliminar todos los eventos, por lo que ya no se activan más eventos. He creado una clase llamada aquí "botón" para resolver ese
var button = new Button(a)
button.disable()
que puede eliminar todos los eventos de un objeto jQuery con $ .unbind. Pero también me gustaría tener la característica opuesta
button.enable()
que se une todos los eventos con todos los manipuladores de vuelta al elemento O tal vez hay una característica en jQuery que realmente nows cómo hacerlo ?!
Mi clase Button se ve algo similar a esto:
Button = function(obj) {
this.element = obj
this.events = null
this.enable = function() {
this.element.removeClass('disabled')
obj.data('events', this.events)
return this
}
this.disable = function() {
this.element.addClass('disabled')
this.events = obj.data('events')
return this
}
}
¿Alguna idea? Especialmente esta funcionalidad revinculación debe estar disponible después de desactivar -> Habilitar
var a = $('<a>').click(data, function() { ... })
me encontré con estas fuentes que no funcionó para mí: http://jquery-howto.blogspot.com/2008/12/how-to-disableenable-element-with.html
http://forum.jquery.com/topic/jquery-temporarily-disabling-events -> No soy la creación de los eventos dentro de la clase de botón
Agradecemos su ayuda.
no estoy muy seguro acerca de cómo desactivar el evento en esta llamada var a = $ ('') .pulsa (datos, function() {...}) usando stopPropagation o preventDefault ?? – pabera