此问题已在此处有答案:
Event binding on dynamically created elements?(23答案)
18小时前关闭
这应该很简单,但我正在绞尽脑汁地研究语法。
我有一个简单的lightbox函数,它可以完美地处理运行时已经存在的图像。但是我有一个隐藏的div,它可以从另一个脚本加载内容-有时,它还包括我想要lightbox的图像。
我知道我需要在这里添加on(),但我搞砸了语法。
以下是工作函数布局:
$('.lightbox_trigger').click(function(e) {
//function body here
});//end function
这应该是一个简单的修复方法,但是当我把它 Package 在()上时,我似乎把它搞砸了。我想给你一个快速的建议。谢谢!
1条答案
按热度按时间enxuqcxy1#
你的jQuery selector .lightbox_trigger会在运行这一行时,在每个元素上附加click事件。但是,如果你在代码运行后动态地添加元素到html中。这些新元素将不会附加事件侦听器。
有多种方法可以解决这个问题,但您可以将事件侦听器附加到存在的元素,并让它侦听子元素上的该事件。例如:
现在,事件侦听器还将处理您稍后添加到DOM的元素。