JQuery 不会删除我的 div 以响应 div 单击事件

JQuery won't delete my div in response to a div click event

我在做什么

我刚学会 JQuery,我正在通过尝试制作 Window 的便利贴

的网络应用程序版本来锻炼身体

我想做什么

我在右侧有一个 close-button,顶部 navbar-like div,每个粘性 div。我正在努力做到这一点,以便当您单击此 div 时,整个粘性 div 都会被删除。

我的问题

点击 div

无反应

我的代码

整个项目:https://codepen.io/kymed/pen/ajdmwY

相关代码:

let closebtnimg = "<img src='x.png' style='float:right;'></img>";
$(closebtnimg).appendTo(this.topdiv);

$(closebtnimg).mousedown(function(){
  $(me.div).remove();
})

我试过的

我尝试创建一个 div 并将图像用作背景图像,然后我再次尝试将 div 的不透明度设置为 0 并将背景颜色设置为白色。

我也试过这个,来自类似 post 的一段代码,我用 "click"

替换了 "load"
$("img").one("load", function() {
  // do stuff
}).each(function() {
  if(this.complete) $(this).load();
});

这是您实现目标的一种简单方法:

$("#myDivId").on('click', function() {
  $("#myDivId").fadeOut()
})

您需要这样做:

let closebtnimg = "<img src='x.png' style='float:right;'></img>";
let closer = $(closebtnimg);
closer.appendTo(this.topdiv);

然后这个:

closer.click(function(){
  $(me.div).remove();
})

通过两次使用 $(closebtnimg),您每次都在创建一个全新的关闭按钮。您创建的第二个按钮没有附加到您的即时贴,您正在将您的点击操作添加到那个未附加的关闭按钮。附加的关闭按钮没有任何操作。