Utknąłem tutaj z małym problemem, włożyłem dość dużo czasu, w którym jest dość źle w porównaniu do jego funkcjonalności.Włączanie/wyłączanie zdarzeń elementów DOM za pomocą JS/jQuery
Mam tagi w moim DOM, i ja wiązania kilka imprez do nich z jQuery ..
var a = $('<a>').click(data, function() { ... })
Czasem chciałbym, aby wyłączyć niektóre z tych elementów, co oznacza, że dodać CSS-Klasa "wyłączony" i chciałbym usunąć wszystkie zdarzenia, więc żadne zdarzenia nie są już uruchamiane. Stworzyłem klasę o nazwie „przycisk”, aby rozwiązać ten
var button = new Button(a)
button.disable()
mogę usunąć wszystkie zdarzenia z obiektu jQuery z $ .unbind. Ale chciałbym również mieć odwrotny funkcję
button.enable()
która wiąże wszystkie zdarzenia ze wszystkimi koparki z powrotem do elementu LUB może jest jakaś funkcja w jQuery, że faktycznie nows jak to zrobić ?!
Mój przycisk Klasa wygląda coś podobnego do tego:
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
}
}
jakieś pomysły? Zwłaszcza ta funkcja ponownego wiązania muszą być dostępne po Wyłącz -> enable
var a = $('<a>').click(data, function() { ... })
Znalazłem te źródła, które nie działają na mnie: http://jquery-howto.blogspot.com/2008/12/how-to-disableenable-element-with.html
http://forum.jquery.com/topic/jquery-temporarily-disabling-events -> Nie jestem ustawiania zdarzeń w klasie przycisk
Doceń swoją pomoc.
Nie jestem pewien, w jaki sposób wyłączyć zdarzenie na to wezwanie var a = $ ('') .Kliknij (dane, function() {...}) wykorzystaniem stopPropagation lub preventDefault ?? – pabera