gpt4 book ai didi

javascript - 将自定义触发器添加到动态创建的元素

转载 作者:行者123 更新时间:2023-11-27 23:05:47 24 4
gpt4 key购买 nike

我需要触发动态创建的元素,然后使用事件委托(delegate)来获取事件并删除动态元素。

<div class="row">
<div class="col-md-8 clickable"></div>
<div class="col-md-4 display-clicks">
<ul class="clicks">
</ul>
</div>
</div>

所以假设我们在显示点击 div 中有上面的 html,ul 附加了在可点击 div 中点击的坐标列表,并且每个旁边都有一个删除按钮。可点击的 div 填充有动态创建的跨度,所有跨度都有一个唯一的 Id,它只是单击的串联坐标。我可以使用以下方法删除附加的包含坐标和按钮的 li:

 $('.display-clicks').on('click','button',function(){
// and this gets me the id of the dynamic span to be removed
// from the clickable div
var id = $(this).data('span-id');

// this wont work
$(id+'_span').remove();

// neither will this
$(id+'_span').trigger('myEvent');

$(this).parent().remove();
console.log(id);
})

myEvent 看起来像这样

   $('.clickable').on('myEvent', 'span', function(event){
$(this).remove();
})

有什么想法吗?

最佳答案

$(this).parent().remove();
也会删除 this 元素,因为您要删除它的父元素。因此 id 无法定义,您也无法选择您的范围。将该行放在 block 的末尾。另外,您的 ID 不能以数字开头 - http://www.w3schools.com/tags/att_global_id.asp

关于javascript - 将自定义触发器添加到动态创建的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36600005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com