如果div变空(没有子节点),则向div添加事件侦听器以执行事件

时间:2013-06-13 13:38:41

标签: javascript html javascript-events event-handling event-listener

我的目标是:创建一个绑定到div的侦听器,如果该div中没有​​子节点,它将启动。

我一直在看如何绑定一个监听器来说onClick等等。但我似乎找不到任何处理元素实际状态的人(空,至少有一个孩子等等)。我还没有开始编码,因为我不确定我需要采用什么样的方法,因为我对JavaScript开发很新。我不一定在寻找代码中的答案,而是更多地建议采取什么方法。

我想到的其中一种方法是每次对div进行更改时只需要一个函数调用,例如删除一个孩子,但这似乎太微不足道了。我想在检查没有孩子的过程中创建某种自动化。

解答: 你不能将一个监听器分配给div元素来检查该元素是否没有子元素(自动完成而不知道哪个函数正在删除子元素,但只知道删除了一个子元素)。当然,你可以做一个功能,检查每隔这么多秒,但这不是我想要的。无论如何,在我删除子项的地方,我只是添加了一个函数,用于检查父项是否没有子项,并在那里处理它。

2 个答案:

答案 0 :(得分:0)

jQuery在删除元素时触发了remove事件

$(el).on("remove", function () {
    alert("Element was removed");
});

您可以使用live(如果它们动态附加到父容器)或on(如果是静态)方法将此事件绑定到特定容器的子节点和每个remove事件检查父容器是否有任何子节点。如果没有,那就做一些行动。

答案 1 :(得分:0)

您不能将侦听器分配给div元素以检查该元素是否没有子项(自动完成,而不知道哪个函数正在删除子项,而仅知道已删除了一个子项)。当然,您可以执行一个功能来检查这么多秒,但这不是我想要的。无论如何,在删除子项的地方,我只添加了一个函数来检查父项是否没有子项,并在那里进行处理。