jQuery技术

jquery为动态添加元素添加事件

字号+ 作者:H5之家 来源:H5之家 2015-12-24 10:14 我要评论( )

以前我们定义事件,比如为元素定义单击事件是这样写的:代码如下:$(#39;input#39;).click(function () {//处理代码});或代码如下:$(#39;.clickme#39;).bind(#39;

> web前端 > JavaScript > 正文 jquery为动态添加元素添加事件 2012-06-27               我要投稿

以前我们定义事件,比如为元素定义单击事件是这样写的:

代码如下:

$('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,则只移出指定的事件处理函数。

 

作者:zongquanliu 点击复制链接 与好友分享!回本站首页 上一篇:Javascript类,prototype研究 下一篇:js操作iframe小技巧 相关文章

菜鸟学JQuery第二天--当学生也不容易啊

Amazing blank in jQuery

jquery动态添加删除div

jquery.each兼容IE,firefox

mvc2下jquery做普通验证

学习jquery基础的一点笔记

jquery操作和获取iframe中的对象

jquery 等比例缩放图片插件

jQuery异步生成树

jquery实现跟随鼠标移动显示页面信息

图文推荐

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 7个有用的jQuery小技巧

    7个有用的jQuery小技巧

    2016-02-26 13:02

  • jQuery制作select双向选择列表

    jQuery制作select双向选择列表

    2016-02-26 11:00

  • 全面详细的jQuery常见开发技巧手册

    全面详细的jQuery常见开发技巧手册

    2016-02-26 10:02

  • 强大的jQuery移动插件Top 10

    强大的jQuery移动插件Top 10

    2016-02-25 09:05

网友点评