.on()无法正常使用动态内容

时间:2016-06-04 20:34:36

标签: javascript jquery

我有一个简单的js脚本,它获取以下元素的背景:     



    <ul class="vk_image_grid">
    		<li style="background-image: url(https://name.com/image1.jpg)" class="block">
    		</li>
    		<li style="background-image: url(https://name.com/image2.jpg)" class="block">
    		</li>
    		<li style="background-image: url(https://name.com/image3.jpg)" class="block">
    		</li>
    	</ul>
<script>
	$("ul li").on( "click", function() {
		var bg = $(this).css('background-image');
		alert(bg);
</script>
&#13;
&#13;
&#13;

它完全适用于php生成的前两个li。但它没有显示由另一个jQuery脚本生成的第三个li的背景。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:-3)

第三个li元素似乎是在$("ul li")运行后生成的。因此,事件处理程序不会附加到第三个li元素。

要么确保在迭代li以附加事件处理程序之前生成li,要么在生成新li元素的方法中添加事件处理程序。

为了更准确地帮助您,您需要提供代码的更多详细信息。