Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中将一系列DomainNodeInserted事件作为单个事件处理_Javascript_Jquery_Javascript Events - Fatal编程技术网

在JavaScript中将一系列DomainNodeInserted事件作为单个事件处理

在JavaScript中将一系列DomainNodeInserted事件作为单个事件处理,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,当元素通过DOMNodeInserted事件插入文档时,我正在应用事件侦听器函数。元素是快速连续插入的,但我只希望在每批元素插入中执行一次函数 我曾尝试在闭包中使用一个具有全局范围的布尔变量来表示侦听器调用的函数是否应该实际执行该操作,并在事件触发完成后使用setTimeout重置该变量 < jQuery正被用于这个项目中的其他功能,因此这里是一个开放的选项,但是在这种情况下,抽象可能不是非常有用的。我注意到了.one()方法。也许可以绑定一个事件处理程序,该事件处理程序在触发一次后立即被取消,

当元素通过
DOMNodeInserted
事件插入文档时,我正在应用事件侦听器函数。元素是快速连续插入的,但我只希望在每批元素插入中执行一次函数

我曾尝试在闭包中使用一个具有全局范围的布尔变量来表示侦听器调用的函数是否应该实际执行该操作,并在事件触发完成后使用
setTimeout
重置该变量

< jQuery正被用于这个项目中的其他功能,因此这里是一个开放的选项,但是在这种情况下,抽象可能不是非常有用的。我注意到了
.one()
方法。也许可以绑定一个事件处理程序,该事件处理程序在触发一次后立即被取消,然后用超时重新建立


建议?

您可以使用您建议的方法(使用
.one()
并在超时后重新连接),但这听起来像是(在调用处理程序之前等待函数的突发调用结束,或者在一批函数调用开始时只调用处理程序一次)您正在寻找的。你可以试试bebounce或Ben Alman的