给元素绑定click事件 ,但是遇到一个问题 就是 当我执行一些ajax请求后 这个click事件就失效了
比如说 我的分页是一个ajax请求 但我点下一页时 后生成的元素a就没有了click事件了
其实 原因很简单
ajax加载内容是在$(document).ready()之后的操作,这个时候给绑定函数的时候,找到的元素集合中还不包括ajax加载的内容,所以原来的没有问题,后加载的就没有绑定
解决方法 有两个 :
1. 在ajax请求成功之后重新绑定
2. 用live方法
代码如下:
<script type="text/javascript">
<!--
jQuery(document).ready(function(){
jQuery(".brand li img").live('click',function(){
jQuery(this).parents("li").find("ul").slideToggle();
});
});
-->
</script>
两种方法适用在不同的场合
如果是处理事件的话 可以用live
如果是其他一些处理方法的 live就不支持 只能重新绑定