Я делаю модуль для Joomla! страница клиента, который использует Ajax для обработки различных запросов к базе данных. Результатом этих запросов является то, что я заново создаю весь HTML-код различных DIV. В моем объекте jQuery у меня есть функция с именем cache()
, которая хранит все объекты, которые мне нужны, чтобы прикрепить их к различным событиям. Моя проблема в том, что каждый раз, когда я воссоздаю HTML-код из любого из этих элементов div, мне приходится перестраивать все объекты, поэтому я создал новую функцию recache()
, чтобы упростить эту работу.
Полагаю, это не лучшая процедура.
Есть ли способ сохранить эти обработчики живыми, не вызывая эту функцию cache()
каждый раз, или есть ли способ динамически перепривязать эти объекты?
Спасибо!
Вот мой код:
var Object = {
init: function() {
this.cache();
this.bindEvents();
return this;
},
cache: function() {
OBJECTS....
this.nameObject = $('#anchor');
etc..
},
recache: function() {
Objects to be recached as needed.
},
bindEvents: function() {
EVENTS attached to the objects.
this.nameObject.on( 'click', 'context', this.nameFunction );
},
nameFunction: function() {
#CODE....
}
}; //END Playlist (Object)
window.Object = Object.init();
Я обычно использую функцию on()
вместо delegate()
, live()
или bind()
, но я не уверен, что это именно моя проблема.
Заранее спасибо!