javascript - 如何为动态添加的按钮添加点击监听器?

标签 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);
});

但是,没有显示任何警报。

我错过了什么吗?

最佳答案

使用以下代码:

<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));

关于javascript - 如何为动态添加的按钮添加点击监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38816965/

相关文章:

html - 保持悬停模式直到鼠标悬停在另一个按钮/链接上

javascript - 如何使用 JQuery 设置提交按钮的文本?

javascript - Tinymce 4.x 的 Ajax 文件管理器

c# - Facebook SDK CanvasAutorize 属性重定向我的 ajax 调用并且没有到达 Controller 代码

jquery - 改变 url 的滑动页面...这怎么可能?

javascript - 使用javascript访问速度变量

javascript - 有没有办法为生成的 .d.ts 文件(在 javascript 项目中)声明特定的模块名称?

javascript - 多个元素的条件渲染

jquery - Fancytree getSelectedNodes 不使用 select 事件

javascript - 从客户端隐藏 API key