javascript - 如何使用 jQuery 动态添加 html,并在元素上添加点击监听器?

标签 javascript jquery dom

当用户单击按钮时,我需要向页面添加表单。我正在制作该 html 的字符串,然后使用 jQuery 将其添加到 div 中。 (我在某处读到这不是最好的方法,所以请告诉我一个替代方法)。

但是,问题是这样的 - 我添加的新 html 有一个 id 为 id1 的按钮。当我这样做时,我尝试调用的脚本不会被调用-

$(document).ready(function(){
$("#id1").click(function(){
    alert("hi");
});

这可能会发生,因为我已经在 document.ready() 中编写了此内容,并且当文档准备好时,没有 id id1 的元素存在。我怎样才能缓解这个问题?

最佳答案

委托(delegate)事件。此处 on用于附加事件处理函数

$("body").on("click","#id1",function(){
    alert("hi");
});

关于javascript - 如何使用 jQuery 动态添加 html,并在元素上添加点击监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45125142/

相关文章:

javascript - 如何在 PHP 端使用 $.get "Additional Data"

javascript - 将值作为数组/集合传递

javascript - 如何根据从下拉菜单中选择的选项显示 HTML 文本?

javascript - jQuery 点击事件停止传播无法开始工作?

jquery - 响应后,我需要小屏幕的表头,但它不起作用,它重复表头。因为我已经使用for循环来打印标题

javascript - 单击下一页折叠 Accordion 菜单

javascript - 当元素在脚本标签下方时,为什么 javascript 不通过 id 获取元素?

javascript - AppendChild 到 IE 中的 iframe

angularjs - 等待 Angular2 中定义元素

javascript - JavaScript 中的范围(我认为?!)挑战