动态创建的按钮在单击时不会触发

时间:2018-09-13 09:19:24

标签: javascript jquery

我正在根据用户在输入框中输入的内容来创建按钮。但是,我链接到动态创建的按钮的功能在按下时不会触发。

function btnCreate() {
num++;
userBtn = $("<button>")
userBtn
    .addClass("btn search-term-btn dynamicElement")
    .appendTo($(".btn-holder"))
    .text(topics)
    .attr("data-name", topics);
usedTopics.push(topics + num);
topics = [];
console.log(num);
};

$(".search-term-btn").on("click", ".dynamicElement", function () {
// takes the name of the button 
searchValue = $(".search-term").attr("data-name");
console.log(searchValue);
})

该类是正确的,请检查员检查。我似乎无法弄清为什么它没有响应

2 个答案:

答案 0 :(得分:1)

在DOM上创建click事件。

$(document).on("click", ".search-term-btn .dynamicElement", function () {
   console.log(this)
});

答案 1 :(得分:0)

while you are creating the buttons, you can add the onclick function there..
like userBtn = $("<button onlcikc="somefunction(this)">")

或 您可以在功能上使用

$('body').on(  "click",".dynamicElement", function() {  
  //your code
});