从ajax追加html后,Click事件不起作用

时间:2014-08-14 06:54:15

标签: jquery ajax

以下是获取一堆< a>包含ID和那些ID的标签用于从同一文件中获取更多数据。所以尽可能缩短 的的index.html

var strURL ="co.php";
        var req = getXMLHTTP();
        if (req) {
            req.onreadystatechange = function() {
                if (req.status == 200) {
                    document.getElementById('content').innerHTML=req.responseText;
                }
            };
            req.open("GET", strURL, true);
            req.send(null);
        }

使用该代码我得到的外部文件包含这样的内容。
co.php

<div>
<a href="#" class="l" id="c1">Link 1</a>
<a href="#" class="l" id="c2">Link 2</a>
<a href="#" class="l" id="c3">Link 3</a>
<a href="#" class="l" id="c4">Link 4</a>
</div>
<script>
    $(".l").click(function () {
        alert($(this).attr("id"));
    });
</script>

那就是co.php文件的所有内容......我可以看到链接,但脚本不起作用......我想知道为什么......现在脚本更喜欢在索引中.html而不是在co.php文件中...但是结果是一样的..如果脚本在index.html中它不起作用,那么我怎样才能使它工作? ......就像我说我更喜欢那个

<script>
    $(".l").click(function () {
        alert($(this).attr("id"));
    });
</script>

在index.html中,并使用来自带有ajax ...

的pull文件

1 个答案:

答案 0 :(得分:2)

使用事件委托:

$("#content").on('click','.l',function () {
    alert($(this).attr("id"));
});