动态添加的元素点击事件无效
正常的静态元素在页面加载完成的时候已经绑定了回调函数,所以绑定事件是有效的。但动态添加的元素绑定事件失效了,原因是动态添加的元素是在DOM加载完成之后再加入的,所以初次绑定的事件无法捕获。可以采用事件委托的方式进行处理,就是说添加的元素没有绑定事件,没有捕获事件,就会发生冒泡现象,往它的上一级查看时候有捕获,直到根元素上。将事件绑定到静态存在的父级元素上就可以处理了。
正常的静态元素添加点击事件如下,但如果是动态添加的元素,这种方式就会失效了。
// #xxx 表示当前需要添加点击事件的元素的 id 选择器
$('#xxx').on('click', function(){// 事件处理函数
});
动态添加元素添加点击事件如下,这种方式就可以解决动态添加元素绑定事件失效的情况
// #xxx 表示当前需要添加点击事件的元素的 id 选择器
$(document).on('click', '#xxx', function(){// 事件处理函数
});