Jquery插件将无法在动态加载的HTML中工作
问题描述:
我得到了这段代码来动态加载HTML,但我得到了一个问题,导致我的插件在index.html上工作正常,但是当你改变页面时,它不再工作..任何人都可以帮助我出去了?日ThnxJquery插件将无法在动态加载的HTML中工作
$(函数(){
var newHash = "",
$mainContent = $("#main-content"),
$pageWrap = $("#page-wrap"),
baseHeight = 0,
$el;
$("nav").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
$mainContent
.find("#guts")
.fadeOut(200, function() {
$mainContent.hide().load(newHash + " #guts", function() {
$mainContent.fadeIn(200, function() {
$pageWrap.animate({
height: baseHeight + $mainContent.height() + "px"
});
});
$("nav a").removeClass("current");
$("nav a[href="+newHash+"]").addClass("current");
});
});
};
});
$(window).trigger('hashchange');
});
答
我认为你需要的是.live()如果你想附加jQuery动态创建标记。
+0
是啊,这听起来像解决方案,但当我尝试和替换.bind()与.live()没有任何工作了.. – Jeroen 2011-03-30 13:38:43
什么停止工作? – drewish 2011-03-30 01:01:45
'load(newHash +“#guts''?为什么#guts在那里? – drewish 2011-03-30 01:04:25
您的DOM示例也会有所帮助。 – drewish 2011-03-30 01:05:26