代码之家  ›  专栏  ›  技术社区  ›  Aiden Bell

jquery事件和.load()。

  •  3
  • Aiden Bell  · 技术社区  · 15 年前

    以前从来没有用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() 不会重新触发事件。这是一个向下钻取类别类型的东西…所以一级装填,然后二级装填 href 而不是触发 click() 事件再次发生。

    加载的HTML是 #browser_cat 有了链接,生成的DOM就可以了。

    我认为这是基本的。事先谢谢。


    应答修改代码:

    $(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 回复  |  直到 15 年前
        1
  •  5
  •   rahul    15 年前

    使用 live 事件

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

    替换

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

    具有

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