jQuery事件和.load()

3

我以前没有遇到过使用jQuery时的这个问题。以下是我的代码:

$(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);
    })
});

相当简单的东西。它可以工作,但是由.load()收集的数据不会重新触发事件。这是一种钻取类别类型的事情...所以第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);
    })
});
1个回答

5

使用live事件

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

替换

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

使用

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

2
+1并接受。谢谢Rahul。正是我想要的;我认为我应该阅读手册。我也认为我应该更新jQuery从1.2.3 :S。 - Aiden Bell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接