使用Jquery从另一个元素委派一个元素的onclick处理程序

Delegate onclick handler of one element from another using Jquery

本文关键字:元素 一个 onclick 程序 处理 Jquery 另一个 委派 使用      更新时间:2023-09-26

我的问题如下:

我有一个动态生成的元素,它有onclick="removeMe()",这是一个使它删除自身的函数。

我使用jQuery.on('click',selector,handler)委托将一个函数绑定到这个元素,以执行特定的代码块。

但是,元素会删除它自己,并在这样做的过程中删除将执行该代码块的处理程序。

更有趣的是:代码块必须在删除元素后运行,并且我不能编辑删除元素的函数来执行我的代码。

我是jQuery的新手,所以我脑海中浮现的第一个解决方案是以某种方式将处理程序绑定到另一个从未删除的元素,该元素在单击第一个元素时运行。这可能吗?

还有其他我没有想到的更好的解决方案吗?我是不是错过了一些显而易见的东西?

如果我的解释不清楚,我可以提供澄清或提供发生这种情况的实际情况。

提前感谢!

编辑:Sivapriyan回答,这个解决方案正是我所需要的。非常感谢。

为什么不在onClick处理程序中运行所有内容呢。

$( "#target" ).click(function() {
    $(this).remove();
    //Execute your block of code :)
});
$(document).on("click",".selector",function(){
  alert("I will always live");
});

以这种方式声明,您的处理程序将永远是活的。现在处理程序在文档上,在$element 上没有