2010-03-03 74 views
3

从来没有遇到过这个问题与jQuery之前。我有以下几种:jQuery事件和.load()

$(document).ready(function() { 
    $('#browser_cat a').click(function() { 
     $('#browser_cat').hide(); 
     $('#browser_cat').load('/api/browser/catchildren/'+$(this).attr('id')); 
     $('#browser_cat').fadeIn(); 
     return(false); 
    }) 
}); 

很简单的东西。它的工作原理是,但​​收集的数据不会重新触发事件。这是一个深入分类类型的事情......所以1级负载,但然后2级保留到href,而不是再次触发click()事件。

加载的HTML是带有链接的#browser_cat,生成的DOM是OK。

我很满意这是基本的。提前致谢。


回答修改后的代码:

$(document).ready(function() { 
    $('#browser_cat a').live("click", function() { 
     $('#browser_cat').hide(); 
     $('#browser_cat').load('/api/browser/catchildren/'+$(this).attr('id')); 
     $('#browser_cat').fadeIn(); 
     return(false); 
    }) 
}); 

回答

5

使用live事件

附加的处理程序的事件当前 选择器匹配所有 元素,现在或在将来。

更换

$('#browser_cat a').click(function() { 

$('#browser_cat a').live("click", function() { 
+2

+1和接受。谢谢拉胡尔。正是我所追求的;我想我应该RTFM。我也认为我应该从1.2.3更新jQuery:S – 2010-03-03 04:19:22