动态行添加到表:添加单击事件不会触发

时间:2015-06-23 17:41:35

标签: javascript jquery

脑痛。

我有一个动态添加行到表的计时器。我希望举办一场活动 当用户点击其中一个动态添加的行时。

我使用“PortletTableUseButton”类并使用.on(“click”)标记每个,但它不起作用。

    $('.PortletTableUseButton').on("click", function () {
        alert($(this));
    });
    setInterval(function () { addRow(); }, 2000);

    var counter = 2042;
    function addRow() {
        counter++;
        var myRow = "<tr class='PortletTableUseButton'><td>BLOCK-" + counter + "</td><td>Location A</td><td >Use</td></tr>";

        $("#Portlet #content tr:last").after(myRow);
    }
<div id="Portlet" style="position:absolute; top:500px;left:500px; height:200px;">
    <div id="content" style="height:80%;">
        <table id="PortletTable">
            <tr>
                <td>File Name</td>
                <td>Location</td>
                <td>Action</td>
            </tr>
        </table>
    </div>
</div>

1 个答案:

答案 0 :(得分:4)

您没有正确使用事件委派。试试这个:

var xSpeed = 5.0 var ySpeed = 5.0

if collision with wall in x direction { xSpeed = -xSpeed }

if collision with wall in y direction { ySpeed = -ySpeed }

http://learn.jquery.com/events/event-delegation/

或者,每次添加行时都运行单击功能。