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);});
但它仍然无法捕获所有单击事件$('*')
正在选择所有元素。这是一种非常繁重的操作。相反,您应该知道您希望为哪些元素处理单击事件,并专门针对它们。因此,对于上面的可运行代码段,您希望为哪些元素处理单击事件?