ajax更新数据后,jquery、jq失效问题
更新时间:2011年03月16日 23:53:03 作者:
这问题遇到两次,竟然忘记了。所以说不要关抄人家的方法,要多研究下。现在做个记录...
给元素绑定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请求 但我点下一页时 后生成的元素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就不支持 只能重新绑定
相关文章
jquery 设置元素相对于另一个元素的top值(实例代码)
在jquery中offset().top是相对于body来说的,另外在设置top值的时候要找到与该元素最近的有相对值的元素2013-11-1140个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
在网页的首页或图片专题页面很多地方都会用到图片滑动插件来循环切换多张图片,并且用户可以点击左右按钮来切换图片。相信大家都知道jQuery是最优秀的Javascript框架之一2011-12-12
最新评论