纯JavaScript:当元素';已单击的子对象

纯JavaScript:当元素';已单击的子对象,javascript,html,css,dom-events,Javascript,Html,Css,Dom Events,我有: 它可能与上下文无关,因此下面是指向完整待办事项应用程序的链接: 我不确定 span.addEventListener("click", this.parentElement.parentElement.removeChild(this.parentElement); 是最好、最有效的解决方案这是事件委派的一个很好的用例。由于click事件会将DOM冒泡到父节点,因此可以侦听根祖先上的click事件,然后检查单击的元素是否与目标类型匹配 var todolist=document.g

我有:

它可能与上下文无关,因此下面是指向完整待办事项应用程序的链接:

我不确定

span.addEventListener("click", this.parentElement.parentElement.removeChild(this.parentElement);

是最好、最有效的解决方案

这是事件委派的一个很好的用例。由于click事件会将DOM冒泡到父节点,因此可以侦听根祖先上的click事件,然后检查单击的元素是否与目标类型匹配

var todolist=document.getElementById('todolist');
todolist.addEventListener('click',函数(e){
if(例如target.matches('.remove')){
todolist.removeChild(e.target.parentNode);
}
});
。删除{
颜色:821818;
显示:内联块;
填充:3x10px;
边框:1px实心#d84c4c;
边界半径:2px;
光标:指针;
位置:绝对位置;
右:0px;
顶部:0px;
身高:100%;
框大小:边框框;
背景:#f1bbc0;
字号:700;
字体大小:25px;
}
#托多利斯特{
列表样式:无;
}
#托多利斯特李{
显示:块;
位置:相对位置;
填充:8px 6px;
宽度:300px;
利润率:5px0px;
边界半径:2px;
盒影:0 3px 4px 0 rgba(0,0,0,0.14),0 1px 8px 0 rgba(0,0,0,0.12),0 3px 3px-2px rgba(0,0,0,0.4);
}

  • 1次&次
  • 2次&次
  • 3次&次
  • 4次&次
  • 5次&次
  • 6次&次
  • 7次&次
  • 8次&次
  • 您需要传递回调函数,而不是调用调用方法的函数,并且它返回的内容将分配给事件侦听器。
    span.addEventListener("click", this.parentElement.parentElement.removeChild(this.parentElement);
    
    this.parentElement.parentElement.removeChild(this.parentElement);