我有一个菜单,可以将来自不同html页面的内容加载到div id =“ content”;我想从已加载的内容中加载内容;不起作用
我尝试了所有东西,然后完全迷路了,例如.live(click,..),empty(),remove()和东西。 我一次又一次得到的是相当的内容,但不在我的div中,即没有 css,再单击已加载内容中的链接,会将我带到另一页面,而不是将内容从该页面加载到当前页面。
$(document).ready(function() {
$('#nav li a').click(function(){
var toLoad = $(this).attr('href')+' #content';
$('#content').hide('fast',loadContent);
function loadContent() {
$('#content').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#content').show('normal');
}
return false;
});
});
答案 0 :(得分:0)
我现在明白了:问题是事件委托,意思是:加载的内容不是由dom结构注册的。因此,您必须将click事件委托给祖先, 最初已加载的:
点击/ *-将事件委派给#staticAncestor / / $(staticAncestors).on(eventName,dynamicChild,function(){}); * /
这是一种本地解决方案;我找不到了,但也有全局答案 研究“事件委托”