javascript - 清空 div 并重新填充但 jquery 事件触发多次

标签 javascript jquery html css

我们有下面的div

  <div  id="div1"></div>
  <div  id="div2" style="display:none"></div>

这些 div 是通过点击一些链接来加载的。我们只在那个 div 中加载相应的 js 文件。当我们从一个 div 移动到另一个 div 时,我们调用 jquery empty 以清除所有 div,然后仅加载单击的 div 的内容。 问题是;每次当我从一个 div 移动到另一个时,事件都会传播很多次。我认为空 div 不会删除附加到元素的事件,并且事件会再次附加。

我们尝试了以下所有选项

event.stopPropagation()
event.stopimmediatepropagation()

在空 div 之前调用 $("#div1").find("*").off()

但没有任何效果。 更新

我正在 div 1 中的 jquery 包下面加载

<script src="/some/bundles/providerdashboardindex?v=q4efyq1D6R9Q8EsGiRLSqO4B4bO-vFJB29DcG2uVel81"></script> 

js中的一个函数是

$(document).on("click", "#tblPatientSearch tbody tr",function () 
{
}

如果我在清空 div 之前保持关闭状态,它就不起作用

 $("#tblPatientSearch tbody tr").off();
$("#div1").find("*").off();
$('#div1').empty().off("*");

以上代码均无效

最佳答案

此代码应从 div 的所有子项中删除事件。

$("#div1").find("*").off();

如果事件被添加到 div,下面的代码应该可以工作。

$("#div1").off();

否则,需要更多上下文。

关于javascript - 清空 div 并重新填充但 jquery 事件触发多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35293709/

相关文章:

Javascript 日期意外自动更新

javascript - 如何检查用户是否存在于 Firebase 中?

php - 创建所见即所得编辑器

javascript - 带有 ScrollMagic 引脚的网站

javascript - 在D3.js中动态创建节点

javascript - 如何根据前一个复选框显示一组复选框

php - 更改数据库中数据的字体颜色

javascript - setTimeout(0) vs window.postMessage vs MessagePort.postMessage

javascript - 为什么我的 JavaScript 没有加载到 Bootstrap 选项卡中?

javascript - 输入值未正确读取,显示为未定义,JavaScript