Javascript 克隆div的输入值不更改或触发事件
我有一个模拟隐藏的div,可以编辑、克隆并显示给用户。在这个div中,有一个输入,我使用jQuery(可能所有方法都尝试过)为其设置value属性。生成新div并向用户显示后,输入不会触发任何类型的事件(focus、focusout、change),HTML中输入的值也不会更改。 我错过了什么或做错了什么 编辑(代码):HTMLJavascript 克隆div的输入值不更改或触发事件,javascript,jquery,Javascript,Jquery,我有一个模拟隐藏的div,可以编辑、克隆并显示给用户。在这个div中,有一个输入,我使用jQuery(可能所有方法都尝试过)为其设置value属性。生成新div并向用户显示后,输入不会触发任何类型的事件(focus、focusout、change),HTML中输入的值也不会更改。 我错过了什么或做错了什么 编辑(代码):HTML 克隆元素将从中删除所有事件侦听器。如果您想在具有给定选择器的元素上侦听所有事件侦听器,可以使用jQuery的 $(文档)。在(“单击”、“.class”上,函数(){
克隆元素将从中删除所有事件侦听器。如果您想在具有给定选择器的元素上侦听所有事件侦听器,可以使用jQuery的
$(文档)。在(“单击”、“.class”上,函数(){
const$this=$(this);
});
您还可以将.clone
上的withDataAndEvents
参数设置为true:.clone(true)
如果您不共享与您的问题相关的代码,我们将无法为您提供帮助。请添加您的代码。
<div class="item-wrapper" id="mock-item">
<div class="item-img"></div>
<div class="item-primary">
<p class="item-name">Foo Bar</p>
<input type="text" class="set-amount">
</div>
</div>
$("div.item-wrapper").click((e) => {
let item_id = e.currentTarget.id
let itemDetails = {
item_name: $(`#${item_id} .item.name`).text(),
suggested_amount: $(`#${item_id} #item-amount`).text(),
icon_url: $(`#${item_id} .item.big`).attr("style"),
}
$(".item-img", tmp).attr("style", itemDetails.icon_url)
$("#mock-item .item-name").text(itemDetails.item_name)
$("#mock-item .set-amount")[0].setAttribute("value", itemDetails.suggested_amont)
$("#mock-item").clone().removeAttr("id").appendTo(".item-wrapper").show()
})