jquery为动态添加元素添加事件
来源:互联网 发布:js获取单选框选中值 编辑:程序博客网 时间:2024/05/15 08:47
以前我们定义事件,比如为元素定义单击事件是这样写的:
代码如下:
$('input').click(function () {
//处理代码
});
或
代码如下:
$('.clickme').bind('click', function() {
// Bound handler called.
});
但是这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定。即使你使用jquery的clone函数,它并不能将事件也复制(到目前为止我还不清楚它是为什么这样定义,是没法复制还是刻意这么处理,以防止出现某些异常,这还有待去分析一下jquery的源代码)。
现在,使用live你可以轻松搞定,$('.clickme').live('click', function() { // Live handler called. });这样,你即使在后面动态插入的元素,也会被绑定事件,$('body').append('<div class="clickme">Another target</div>');
定义和用法
live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。
问题:使用jQuery的live()方法绑定事件,有时会出现重复绑定的情况,如,当点击一个按钮时,此按钮所绑定的事件会并执行n遍。
解决:使用die()方法,在live()方法绑定前,将此元素上的前面被绑定的事件统统解除,然后再通过live()方法绑定新的事件。
Js代码
//先通过die()方法解除,再通过live()绑定
$("#selectAll").die().live("click",function(){
//事件运行代码
});
//先通过die()方法解除,再通过live()绑定
$("#selectAll").die().live("click",function(){
//事件运行代码
});die()方法简介:Js代码
die([type], [fn])<SPAN style="WHITE-SPACE: normal"> </SPAN>die([type], [fn])
概述
jQuery 1.3新增。此方法与live正好完全相反。如果不带参数,则所有绑定的live事件都会被移除。
你可以解除用live注册的自定义事件。
如果提供了type参数,那么会移除对应的live事件。
如果也指定了第二个参数function,则只移出指定的事件处理函数。
- jquery为动态添加元素添加事件
- jquery为动态添加元素添加事件
- jquery为动态添加元素添加事件
- Jquery 为动态添加元素绑定事件
- jquery 为动态添加元素绑定事件
- jQuery为动态生成的select元素添加事件
- jquery为不存在的元素动态添加事件
- jquery为动态添加的元素绑定事件
- jquery为动态添加的元素绑定事件
- jquery为动态生成的元素添加点击事件
- jquery为动态生成元素添加点击事件
- jQuery为动态生成的元素添加事件
- jquery 为动态加载的元素添加事件
- jQuery-为动态添加的元素绑定事件
- jQuery-为动态添加的元素绑定事件
- jquery:为动态加载的元素添加点击事件
- jQuery-为动态添加的元素绑定事件
- jquery 动态生成的元素 添加事件
- [应用发布]N9直尺
- WorldWind 学习笔记 二、WW初始化 .
- Android 4.1 Surface系统变化说明
- PHP开发绝对不能违背的安全铁则
- AsyncTask的用法
- jquery为动态添加元素添加事件
- <译>程序员究竟该如何提高效率
- Discuz!模板开发手册
- 内嵌Realplayer播放器 参数的含义
- chrome源代码目录结构简介(版本4.1.249.1059)
- Android 读取SIM卡参数
- PHP相关系列 - 蚂蚁变大象:浅谈常规网站是如何从小变大的
- chrome源码学习之知识体系指南
- android操作sim卡联系人信息