jquery中绑定事件的异同

 更新时间:2017年02月28日 14:52:32   作者:瞿亮  
本文主要介绍了jquery中bind(),live(),delegate(),on()绑定事件的不同点和相同点,具有很好的参考价值,下面跟着小编一起来看下吧

谈论jquery中bind(),live(),delegate(),on()绑定事件方式

1. Bind()

$(selector).bind(event,data,function)

Event:必须项;添加到元素的一个或多个事件。

Data:可选;需要传递的参数

Function:必需;当绑定事件发生时,需要执行的函数;

定义事件:

$(selector).bind({event1:function, event2:function, ...});

2.live()

$(selector).live(event,data,function)

Event:必须项;添加到元素的一个或多个事件

Data:可选;需要传递的参数

Function:必需;当绑定事件发生时,需要执行的函数;  

定义事件:

$(selector).live({event1:function, event2:function, ...}) 

3.delegate()

$(selector).delegate(childSelector,event,data,function)

childSelector:必须项;需要添加事件处理程序的元素,一般为selector的子元素;

event:必须项;添加到元素的一个或多个事件

Data:可选;需要传递的参数

Function:必需;当绑定事件发生时,需要执行的函数;

定义事件:

$(selector).delegate(childselector,{event1:function, event2:function, ...})

4.on()

$(selector).on(event,childselector,data,function)

childSelector:必须项;需要添加事件处理程序的元素,一般为selector的子元素;

event:必须项;添加到元素的一个或多个事件

Data:可选;需要传递的参数

Function:必需;当绑定事件发生时,需要执行的函数;

定义事件:

$(selector).on({event1:function, event2:function, ...},childselector); 

四种方式的异同和优缺点

相同点:

1.都支持单元多事件的绑定;空格相隔方式或者是大括号替代方式;

2.均是通过事件方式,将事件传递到document进行事件的响应;

比较:

1.bind()函数只能针对已经存在的元素进行事件的设置;但是live(),on(),delegate(),均支持未来新添加元素的事件设置;

2.bind()函数在jquery1.7版本以前比较受推崇,1.7版本出来之后,官方已经不推荐用bind(),替代函数为on(),这也是1.7版本新添加的函数,同样,可以用来代替live()函数,live()函数在1.9版本已经删除;

3.live()函数和delegate()函数两者类似,但是live()函数在执行速度,灵活性和CSS选择器支持方面较delegate()差些。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • jQuery实现 上升、下降、删除、添加一行代码

    jQuery实现 上升、下降、删除、添加一行代码

    这篇文章主要介绍了jQuery实现 上升、下降、删除、添加一行代码的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • jquery实现全选功能

    jquery实现全选功能

    这篇文章主要为大家详细介绍了jquery实现全选功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 实例讲解jquery与json的结合

    实例讲解jquery与json的结合

    这篇文章主要介绍了jquery与json的结合,分为三个阶段,设计htm页面,使用jQuery编写AJAX请求文件,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • jQuery实现限制文本框的输入长度

    jQuery实现限制文本框的输入长度

    本文分享了jQuery实现限制文本框的输入长度的示例代码,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • jQuery中delegate()方法用法实例

    jQuery中delegate()方法用法实例

    这篇文章主要介绍了jQuery中delegate()方法用法,实例分析了delegate()方法的功能、定义及为匹配元素的子元素添加一个或多个事件,并规定当这些事件发生时运行函数的使用技巧,需要的朋友可以参考下
    2015-01-01
  • JqGrid web打印实现代码

    JqGrid web打印实现代码

    最近,项目使用了JqGrid,但需要打印Grid里面的数据。使用的是CSS属性中的Media媒体类型来控制打印样式。
    2011-05-05
  • JQuery为textarea添加maxlength属性的代码

    JQuery为textarea添加maxlength属性的代码

    textarea默认不支持maxlength属性。所以通过jquery实现下。具体的看代码。
    2010-04-04
  • jQuery控制元素显示与隐藏的三种方式对比

    jQuery控制元素显示与隐藏的三种方式对比

    使用jquery控制div的显示与隐藏,一句话就能搞定,下面这篇文章主要给大家介绍了关于jQuery控制元素显示与隐藏的三种方式对比,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • JQuery 获得绝对,相对位置的坐标方法

    JQuery 获得绝对,相对位置的坐标方法

    获取页面某一元素的绝对X,Y坐标,可以用offset()方法:(body属性设置margin :0;padding:0;)
    2010-02-02
  • jquery插件冲突(jquery.noconflict)解决方法分享

    jquery插件冲突(jquery.noconflict)解决方法分享

    本文主要解决了如何让多个不同的jQuery版本在同一个页面并存而不冲突的方法,需要的朋友可以参考下
    2014-03-03

最新评论