注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

海鱼的博客-飞在空中的鱼

飞是一种梦想,也会是一种姿态

 
 
 

日志

 
 

JQuery中动态生成的标签不会响应click事件  

2012-08-15 19:03:53|  分类: jQuery |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

     今天在写程序的时候,发现动态生成的a标签不会响应click事件,然后就到网上搜索了一下,发现很多人都遇到了这个问题,现在把解决办法记下,以备忘。

(1)可以使用.bind方法:

$('.clickme').bind('click', function() {    alert("test bind.");  });
http://www.w3school.com.cn/jquery/event_bind.asp
这个的问题是,当前选择器匹配的元素会绑定一个处理函数,而在这个.bind后面生成的元素就不会再起作用。
(2)可以使用.live方法:
这个是.bind的一种变种。
$('.clickme').live('click', function() {    alert("test live.");   });
http://www.w3school.com.cn/jquery/event_live.asp
这个之后再添加的元素也会起作用的。.live的最直观的好处是可以一直“监听”客户端浏览器操作,对于新增的DOM节点也会生效。但是因为它处于实时监听的状态,可能就会需要不断的绑定,判断,会造成Web应用性能的问题。
无论使用哪种方法,都要记得要函数内部加上return false;语句,来阻止默认事件行为和冒泡。
  评论这张
 
阅读(211)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018