感谢您查看此问题。我试图让jQuery扩展器功能在我的UI中工作。
问题是,当数据在HTML中进行硬编码时它会起作用,但是当数据由jQuery动态放置时它不起作用。
我创建了4张幻灯片以更好地说明问题(请参阅下面的图片):
幻灯片1:包含我尝试在每个模块中展开的小文字的用户界面。
幻灯片2:为jQuery设置div结构以实时填充日期
幻灯片3: Chrome Inspector显示动态保存在内存中的数据(不在HTML源代码中)
幻灯片4:当我在HTML中对此进行硬编码时,扩展器功能正常工作:
<div class="tags-hidden"><p>some data...</p></div>
这是扩展器功能的起源: http://plugins.learningjquery.com/expander/
很多,非常感谢您提供的任何帮助或建议。以下是幻灯片:
编辑1 - 这是根据您的建议使用的新代码.live()...它似乎没有被点击调用:
<script type="text/javascript">
$(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]'
});
});
</script>
答案 0 :(得分:1)
加载内容后,您可能需要重新连接扩展程序插件。例如,如果您通过ajax调用动态加载内容,则需要在ajax加载完成后再次调用$('div.tags-hidden p').expander()
。
答案 1 :(得分:1)
我认为你需要使用.live()来表示在呈现页面时不显示的元素。看看http://api.jquery.com/live/