如何使用扩展器函数来处理动态jQuery数据?
谢谢你看看这个问题。 我试图让jQuery扩展器function在我的UI中工作。
问题是,当数据在HTML中进行硬编码时它会起作用,但是当数据由jQuery动态放置时它不起作用。
我创建了4张幻灯片以更好地说明问题(请参阅下面的图片):
幻灯片1:包含我试图在所显示的每个模块中展开的小文本的UI。
幻灯片2:为jQuery设置div结构以实时填充日期
幻灯片3: Chrome Inspector显示动态保存在内存中的数据(不在HTML源代码中)
幻灯片4:当我在HTML中对此进行硬编码时,扩展器function起作用:
这是扩展器function的起源: http : //plugins.learningjquery.com/expander/
很多,非常感谢您提供的任何帮助或建议。 这是幻灯片:
编辑1 – 这是基于您的建议使用.live()的新代码…似乎没有点击调用:
$(document).ready(function() { $('.div.tags-hidden p').live('click', function() { $('div.tags-hidden p').expander({ slicePoint: 80, // default is 100 expandText: '[...]', // default is 'read more...' collapseTimer: 5000, // re-collapses after 5 seconds; default is 0, so no re-collapsing userCollapseText: '[^]' // default is '[collapse expanded text]' }); });
我认为你需要使用.live()来表示在呈现页面时不显示的元素。 看看这里http://api.jquery.com/live/
加载内容后,您可能需要重新连接扩展器插件。 例如,如果您通过ajax调用动态加载内容,则需要在ajax加载完成后再次调用$('div.tags-hidden p').expander()
。