【发布时间】:2012-04-14 05:29:13
【问题描述】:
我正在为 Joomla! 制作一个模块!使用 Ajax 向数据库呈现不同查询的客户端页面。这些查询的结果是我重新生成了不同 DIV 的整个 HTML 代码。在我的 jQuery 对象中,我有一个名为 cache() 的函数,它存储了我需要将它们附加到不同事件的所有对象。我的问题是每次从这些 div 中重新生成 HTML 代码时,我都必须重新构建所有对象,因此我创建了一个新函数 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(),但我不确定这是否正是我的问题。
提前致谢!
【问题讨论】:
标签: jquery events caching object dynamic-rebinding