Javascript 通过函数向克隆对象添加事件侦听器
我正在尝试克隆div并将eventlistener添加到该特定对象。问题是eventlistener应用于所有以前的对象,所以我想可能不可能通过克隆来实现。请参见下面的示例-当我添加例如3个div并更改其中任何一个选项时,它会发出3次警报,而不是一次。 简单地说,我想动态地将事件侦听器添加到克隆对象中,而不影响前面的对象Javascript 通过函数向克隆对象添加事件侦听器,javascript,Javascript,我正在尝试克隆div并将eventlistener添加到该特定对象。问题是eventlistener应用于所有以前的对象,所以我想可能不可能通过克隆来实现。请参见下面的示例-当我添加例如3个div并更改其中任何一个选项时,它会发出3次警报,而不是一次。 简单地说,我想动态地将事件侦听器添加到克隆对象中,而不影响前面的对象 document.getElementById(“add_btn”).onclick=function(){ $('.lang div:first').clone().ins
document.getElementById(“add_btn”).onclick=function(){
$('.lang div:first').clone().insertAfter($('.lang div:last'));
//var last_lang_div=$('.lang div:last');
添加更改事件();
}
函数add_onchange_event(){
this.addEventListener('change'),(函数(obj){
返回函数(){
警报(“应仅警报一次”);
}
})(本);;
}
英语
西班牙的
德国的
添加语言
$(“添加btn”)。在(“单击”,函数(){
$('.lang div:first').clone(true).insertAfter($('.lang div:last'));
});
$(“#包装器”).on(“更改”,“语言”,函数(){
console.log(this.value);
});代码>
请选择
英语
西班牙的
德国的
Add language
jquery的clone(true)
只有在通过jquery添加事件侦听器时才起作用,所以使用$(this)。在('change',handler)
上,而不是(this.addEventListener('change',handler)
@LukášJe ek欢迎您。请