将侦听器附加到Socket.IO添加的内容

时间:2013-05-29 13:51:33

标签: node.js socket.io

我正在使用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功能内部的工作方式?

1 个答案:

答案 0 :(得分:0)

尝试:

$('body').on('click', '.btn.btn-warning', function() {