JQuery:以编程方式添加的 anchor 与我的点击功能无关

标签 jquery anchor html

我是 JQuery 新手,我正在尝试使用它在旧的 Web 应用程序中实现增强功能。

我从服务器收集字符串列表,并将每个字符串呈现在自己的 anchor 标记中,以便它们出现在逗号分隔的列表中。我将生成的标记分配给跨度的内部 html:

$.getJSON("http://domain/restOfURL",
    function(data){
        var anchorString = "";
        $.each(data.companies, function(i,companies){                                    
            if (i > 0)
            {
                anchorString += ", ";
            }
            anchorString += '<a class="sr" href="#">' + companies + '</a>';
        });
        $("#anchorsListSpan").html(anchorString);
    });
});

所有这些都有效,我可以在实时网页上看到 anchor 。 Firebug 中的标记如下所示:

<span id="anchorsListSpan">
    <a class="sr" href="#">ABC</a>
    ,
    <a class="sr" href="#">Apple</a>
    ,
    <a class="sr" href="#">Apollo</a>
</span>

我遇到的问题是任何生成的 anchor 都不会导致我的点击事件触发:

$("a.sr").click(function(){
    alert("link clicked");
});

我注意到,如果我在该 div 中硬编码类似的 anchor ,那么单击事件就会触发。由于某种原因,我以编程方式添加的事件不会导致点击事件触发。

有人看到我在这里做错了什么吗?

感谢您的帮助,

最佳答案

使用 live() 而不是 click():

$("a.sr").live("click", function(){
    alert("link clicked");
});

关于JQuery:以编程方式添加的 anchor 与我的点击功能无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4038159/

相关文章:

css - 右键单击更改 anchor 链接颜色

javascript - 如何使用 jQuery 在多级菜单中选择没有 child 的 li?

javascript - 将 this 和逗号分隔值作为参数传递给函数

javascript - Bootstrap popover 不显示内容

javascript - jQuery DataTables 头部两行 : first row column names and sorting, 第二行过滤

html - Angular2 Hashtag路由到Anchor不会移动页面

jquery - 检查页面中是否存在src

javascript - 使用 html anchor (#) 强制重新加载页面 - HTML 和 JS

javascript - 使用可拖动事件增加 div 的宽度,并排显示

html - 无法在流体 Div 中将流体图像居中