0

我正在尝试在由 ajax 动态生成的锚点上使用 ajax 触发器。

这是我没有成功也没有错误的尝试:

        $('.excelDL').live('click', function(e){
            $.ajax({
                url: 'exceldl.php',
                data: $('#myForm').serialize(), 
                type: 'POST', 
                success: function(data){
                    $('.xldl').html(data);
                    attach = $('.xldl a').attr("href");

                    $('.xldl a').trigger('click');
                }
            });
        });

我相信这是因为我使用 AJAX 将新元素插入到 DOM 中,导致触发器不起作用,这就是我尝试使用live. 我不确定如何继续和解决这个问题。

我很感激任何建议。

提前谢谢了!

4

1 回答 1

1

使用“on”而不是“live”

    $(document).on('click','.excelDL',function(e){
        $.ajax({
            url: 'exceldl.php',
            data: $('#myForm').serialize(), 
            type: 'POST', 
            success: function(data){
                $('.xldl').html(data);
                attach = $('.xldl a').attr("href");

                $('.xldl a').trigger('click');
            }
        });
    });

jquery 文档:http ://api.jquery.com/on/

jquery live 在 1.7 之后被弃用

于 2013-04-09T00:31:16.653 回答