单击具有相同类的元素

时间:2018-03-07 05:57:38

标签: javascript jquery ajax

我知道这可能听起来很愚蠢,但出于某种原因,我有一些奇怪的问题。

所以,我在js中有一个代码生成一个带有按钮的表我给了所有按钮同一个类。

当我尝试点击它们并使用jquery函数来console.log时,没有任何事情发生。

$.each(data,function(i, d){
    $('#myTable tbody').append(`
        <tr>
            <td>${d.Date}</td>
            <td>${d.Name}</td>
            <td>${d.Score}</td>
            <td><button class='graphXY' data=${d.id}>View</button></td>
        </tr>`);
});

它的内部ajax和表生成良好,每个按钮获得类和数据良好。

现在当我尝试

$(".graphXY").click(function(){
    console.log("hit");
})

基本上没有任何反应,由于某种原因,我无法找到原因。

1 个答案:

答案 0 :(得分:2)

您正在使用的click()绑定称为&#34;直接&#34;绑定只会将处理程序附加到已存在的元素。

它不会受到未来创建的元素的约束。要做到这一点,你必须创建一个&#34;委托&#34;使用on()进行绑定。

$("#myTable").on("click", ".graphXY", function(){
    console.log("hit");
})