Discuz教程网

jQuery动态添加的元素绑定事件处理函数代码

[复制链接]
authicon dly 发表于 2011-9-14 08:32:35 | 显示全部楼层 |阅读模式
我当时的处理方法是在添加的时候手工绑定事件处理函数。不过新版的jquery已经添加了这个功能。我们已经不需要为此烦恼了。
参考:http://api.jquery.com/live/
以前我们定义事件,比如为元素定义单击事件是这样写的:
  1. $('input').click(function () {
  2. //处理代码
  3. });
复制代码

  1. $('.clickme').bind('click', function() {
  2. // Bound handler called.
  3. });
复制代码

但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。即使你使用jquery的clone函数,它并不能将事件也复制(到目前为止我还不清楚它是为什么这样定义,是没法复制还是刻意这么处理,以防止出现某些异常,这还有待去分析一下jquery的源代码)。
现在,使用live你可以轻松搞定,
$('.clickme').live('click', function() { // Live handler called. });这样,你即使在后面动态插入的元素,也会被绑定事件,$('body').append('<div class="clickme">Another target</div>');



上一篇:基于jQuery替换table中的内容并显示进度条的代码
下一篇:jQuery ajax 路由和过滤器使用说明
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 10:34

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表