如何添加点击监听器动态添加按钮?

时间:2016-08-07 17:56:06

标签: javascript jquery html

我通过执行以下操作动态添加按钮:

<input id="{Id}" type="submit" value="View">

{Id}在运行时被替换为记录ID。

我希望有这样的功能:

function viewRecord(button) {
    //Do something here...
}

如何将单击侦听器添加到与单击的正确按钮对应的按钮?

我今天开始学习jquery,希望得到一个答案,说明它是如何实现的。

修改

根据以下答案,我正在尝试以下方法:

<td><input class="viewRecord" type="submit" value="View"></td>

$(".viewRecord").click(function () {
    var $table = $('#table'),
    var $tableBody = $table.find('tbody'),
    var $text = $tableBody.closest('tr').attr('id');

    alert($text);
});

但是,没有显示警报。

我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

使用以下代码:

<div id="container">
    <input id="{Id}" type="submit" value="View" class="dynamic-btn" />
</div>

(function($) {
    var btnClick = function(){
        var id = $(this).attr('id');
        alert(id);
        /*Do smth that you needed*/
    };

    $(function() {
        $("#container").on("click", ".dynamic-btn", btnClick)
    });

}(jQuery));

答案 1 :(得分:1)

两个步骤:

1)找到input

var dynamicButton = document.getElementById('{Id}');

2)添加click事件监听器:

dynamicButton.addEventListener('click',function(){viewRecord(dynamicButton.id);},false);