Я застрял здесь с небольшой проблемой, которую я потратил довольно много времени, что довольно плохо по сравнению с его функциональностью.
У меня есть теги в моем DOM, и я связал с ними несколько событий с помощью jQuery ..
var a = $('<a>').click(data, function() { ... })
Иногда я хотел бы отключить некоторые из этих элементов, что означает, что я добавляю к нему CSS-класс «отключен», и я хотел бы удалить все события, чтобы больше не вызывать никаких событий. Я создал класс под названием «Кнопка», чтобы решить, что
var button = new Button(a)
button.disable()
Я могу удалить все события из объекта jQuery с помощью $ .unbind. Но я также хотел бы иметь противоположную особенность
button.enable()
, который связывает все события со всеми обработчиками обратно в элемент
ИЛИ ЖЕ
может быть, есть функция в jQuery, которая на самом деле теперь, как это сделать?!
Мой класс кнопок выглядит примерно так:
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
}
}
Есть идеи? Особенно эта функция повторного связывания должна быть доступна после отключения -> enable
var a = $('<a>').click(data, function() { ... })
Я нашел эти источники, которые не работали для меня:
http://jquery -howto.blogspot.com / 2008/12 / как к disableenable-элементного-with.html
http://forum.jquery.com/topic/jquery-temporarily-disabling-events
-> Я не устанавливаю события в классе кнопок
Ценю вашу помощь.