Mi sono bloccato qui con un piccolo problema Ho messo abbastanza tempo in cui è piuttosto male rispetto alla sua funzionalità.Abilita/Disabilita eventi di elementi DOM con JS/jQuery
ho tag nel mio DOM, e sono stato legando diversi eventi a loro con jQuery ..
var a = $('<a>').click(data, function() { ... })
A volte vorrei disattivare alcuni di questi elementi, il che significa che aggiungo un CSS-Class 'disabilitato' ad esso e mi piacerebbe rimuovere tutti gli eventi, quindi nessun evento viene attivato affatto. Ho creato una classe che qui chiamano "pulsante" per risolvere che
var button = new Button(a)
button.disable()
posso rimuovere tutti gli eventi da un oggetto jQuery con $ .unbind. Ma vorrei anche avere la funzione opposta
button.enable()
che lega tutti gli eventi con tutti i gestori torna l'elemento O forse c'è una caratteristica in jQuery che nows realtà come fare ?!
My Button Classe osserva qualcosa di simile a questo:
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
}
}
Tutte le idee? Soprattutto questa funzionalità rebind deve essere disponibile dopo la disabilitazione -> Abilita
var a = $('<a>').click(data, function() { ... })
ho trovato queste fonti che non ha funzionato per me: http://jquery-howto.blogspot.com/2008/12/how-to-disableenable-element-with.html
http://forum.jquery.com/topic/jquery-temporarily-disabling-events -> Io non pongo gli eventi all'interno della classe tasto
Apprezzo il tuo aiuto.
Io non sono del tutto sicuro su come disabilitare l'evento su questa chiamata var a = $ ('') .cliccate (dati, function() {...}) utilizzando stopPropagation o preventDefault ?? – pabera