使用ajax读取数据列表,,class为“item”,用$(“.item”).click(function(){ //do selting}),后面通过ajax加载进来的列表中的item按钮,点击事件会失效。
解决方法:
最简单的方法就是直接在标签中写οnclick=””,但是这样写其实是有点low的,最好的方式还是通过给类名绑定一个click事件。
$("#itema").click(function(){
$("#ul").append('
xxxx'); //动态向ul的末尾追加一个新元素
});
click点击事件失效的解决方法一:使用live
live()函数会给被选的元素绑定上一个或者多个事件处理程序,并且规定当这些事件发生时运行的函数。
通过live()函数适用于匹配选择器的当前及未来的元素。比如,通过脚本动态创建的元素。
实现如下:
$('.item').live('click', function(){
alert('OK');
});
方法二:使用on
可以通过on方法绑定事件,可以绑定到它的父级或者body中,实现如下:
$("#item").on('click','.colabc',function(){
alert('OK')
});
或者:
$("body").on('click','.colabc',function(){
alert('OK')
});
文章讲述了在使用Ajax动态加载数据后,绑定在.item类上的click事件失效的两种解决方案。一种是使用jQuery的live()函数,它能处理当前及未来存在的元素。另一种是使用on()方法,可以在父元素或body上绑定事件,以监听动态添加的子元素的点击事件。
1725

被折叠的 条评论
为什么被折叠?



