0

我正在使用 Socket.IO 加载一些数据并将其添加到具有 Socket.io 侦听器内的 JS 函数的表中。在该表的每一行的末尾,我正在尝试添加一个按钮,该按钮可以获取新添加行中的内容并对其进行处理。但是,事件处理程序不会为新添加的按钮触发。我觉得我正确地依附于on()父母并且已经尝试了这个的每一种变化,但我仍然无法让按钮触发。这是我的代码:

$('body').on('click', '.btn btn-warning', function() {
    alert( $(this).text() );
});

socket.on('loadtable', function (table) {
            $("#tableBody").append('<tr><td>' + table["name"] + '</td><td>' + table["id"] +
            '</td><td>' + table["loc"] + '</td><td>' + table["area"] + '</td><td>' + table["zip"] +
             '</td><td><a href="#editModal" role="button" class="btn btn-warning" data-toggle="modal"><i class="icon-edit icon-white"></i></a>'
             + '</td><td><input type = "checkbox"></td></tr>'
            );
        });

<table class="table table-bordered table-hover" id ="jobsTable">

<thead>
    <tr>
        <th class = "span2">Name</th>
                    <th class = "span2">Process</th>
        <th class = "span2">JAR</th>
        <th class = "span1">Main Class</th>
        <th class = "span2">Args</th>
        <th class = "span1">Edit</th>
        <th class = "span1">Select</th>
    </tr>
</thead>

<tbody id = "tableBody">
</tbody>        

我是否忽略了 Socket 函数内部的工作方式?

4

1 回答 1

0

尝试:

$('body').on('click', '.btn.btn-warning', function() {
于 2013-05-29T23:49:03.040 回答