Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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 为什么动态创建元素';s事件不能捕捉一次以上吗?_Javascript_Jquery_Html_Draw.io - Fatal编程技术网

Javascript 为什么动态创建元素';s事件不能捕捉一次以上吗?

Javascript 为什么动态创建元素';s事件不能捕捉一次以上吗?,javascript,jquery,html,draw.io,Javascript,Jquery,Html,Draw.io,我有一个由draw.io生成的HTML页面。我做了一棵树,它有可展开和可折叠的特点。我的最终目标是使树可以扩展,就像它一级一级地打开一样,而不是一次扩展所有级别。但是我不能多次捕捉单击事件 这是代码段中的Html页面。如果按根的图像加号,则会展开所有级别。 组织结构图 尝试将绑定更改为$(document.body)

我有一个由
draw.io
生成的HTML页面。我做了一棵树,它有可展开和可折叠的特点。我的最终目标是使树可以扩展,就像它一级一级地打开一样,而不是一次扩展所有级别。但是我不能多次捕捉单击事件

这是代码段中的Html页面。如果按根的图像加号,则会展开所有级别。

组织结构图

尝试将绑定更改为
$(document.body)
标记,不管它以后是否添加到页面正文中,它都应该可以工作。我使用
$(“*”)获得一些单击事件。单击(函数(事件){console.log(event.target);});
但它仍然无法捕获所有单击事件
$('*'))
正在选择所有元素。这是一种非常繁重的操作。相反,您应该知道要为哪些元素处理单击事件,并专门针对它们。因此,对于上面的可运行代码段,您要为哪些元素处理单击事件?请尝试将绑定更改为
$(document.body)。on('click','image',function(){console.log(this)});
我尝试了这个方法。但至少有一次它没有运行。这让人非常困惑,因为我给出的建议是使用委托事件处理程序,只要单击的元素是
标记,就应该可以工作,不管它是否稍后添加到页面正文中。我使用
$(“*”)获得一些单击事件。单击(函数(事件){console.log(event.target);});
但它仍然无法捕获所有单击事件
$('*')
正在选择所有元素。这是一种非常繁重的操作。相反,您应该知道您希望为哪些元素处理单击事件,并专门针对它们。因此,对于上面的可运行代码段,您希望为哪些元素处理单击事件?