Posted in Javascript onMarch 16, 2011
给元素绑定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就不支持 只能重新绑定
ajax更新数据后,jquery、jq失效问题
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@