不能DOM添加html按钮

Cant DOM added html buttons

本文关键字:按钮 html 添加 DOM 不能      更新时间:2023-09-26

我想做一些简单的事情,一个页面加载时有0个按钮,然后每次点击我添加一个按钮在一行。当我点击这些按钮时,它会将其删除。

I tried to

$(":button").click(function(){
})

,但它似乎不能得到已经点击的按钮,如果我开始与这些按钮已经在它的页面,它的工作。我错过什么了吗?

目前你正在使用的是所谓的"直接"绑定,它只会附加到在你的代码调用事件绑定时存在于页面上的元素。

当动态生成元素或操作选择器(如删除和添加类)时,您需要使用.on()委托事件方法使用事件委托。

一般语法

$(parentStaticContainer).on('event','selector',callback_function)

$(document).on('click', ":button", function(){
    //Your code
});

代替document,你应该使用最接近的静态容器。

委托事件的优点是,它们可以处理来自后代元素的事件,这些事件稍后会添加到文档中。通过选择在附加委托事件处理程序时保证存在的元素,我们可以使用委托事件将click事件绑定到动态创建的元素,还可以避免频繁地附加和删除事件处理程序。

直接和委托事件