博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery绑定事件的四种基本方式
阅读量:5312 次
发布时间:2019-06-14

本文共 1069 字,大约阅读时间需要 3 分钟。

Query中提供了四种事件监听方式,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off。

 

bind(type,[data],function(eventObject))  live(type, [data], fn)  delegate(type,[selector],[data],fn) on(type,[selector],[data],fn)

bind是使用频率较高的一种,作用就是在选择到的元素上绑定特定事件类型的监听函数,参数的含义如下:

type:事件类型,如click、change、mouseover等;

data:传入监听函数的参数,通过event.data取到。可选;

function:监听函数,可传入event对象,这里的event是jQuery封装的event对象,与原生的event对象有区别,使用时需要注意。

bind的特点就是会把监听器绑定到目标元素上,有一个绑一个,在页面上的元素不会动态添加的时候使用它没什么问题。但如果列表中动态增加一个“元素”,点击它是没有反应的,必须再bind一次才行。

 

live的参数和bind一样,源码:

live: function( types, data, fn ) {

jQuery( this.context ).on( types, this.selector, data, fn );

return this;

}

可以看到live方法并没有将监听器绑定到自己(this)身上,而是绑定到了this.context上了。

 

delegate(selector,type,[data],fn)

参数多了一个selector,用来指定触发事件的目标元素,监听器将被绑定在调用此方法的元素上。看看源码:

delegate: function( selector, types, data, fn ) {

return this.on( types, selector, data, fn );

}

又是调用了on,并且把selector传给了on。看来这个on真的是举足轻重的东西。

 

几种办法中使用on,因为其他方法都是内部调用on来完成的,直接使用on可以提高效率,而且完全可以用on来代替其他三种写法

参考原文:http://www.51edu.com/it/bckf/35687.html

转载于:https://www.cnblogs.com/lxl0419/p/5779292.html

你可能感兴趣的文章
Ref和Out参数的区别(转帖)
查看>>
性能学习之--loaderunner压测
查看>>
C#的闭包
查看>>
Android实现微信自己主动抢红包的程序
查看>>
从计算的本质到编程语言
查看>>
《罗辑思维》的逻辑缺陷
查看>>
IAR编译duplicate definitions for IAR报错解决办法补充版
查看>>
[转载]linux与grep
查看>>
IOS常用的第三方开发库
查看>>
在前端工作中遇到的一些常见的兼容问题
查看>>
Writing a Kernel in C++
查看>>
JavaScript: Better and Faster
查看>>
Codeforces Round #244 (Div. 2) B. Prison Transfer
查看>>
css图片上加文字
查看>>
centos下查看rpm包安装位置
查看>>
虚拟内存和物理内存之间的区别
查看>>
jenkins 批量修改svn 地址
查看>>
Spring presentation (1)
查看>>
运行Python脚本的方法
查看>>
ES 04 - 安装Kibana插件(6.6.0版本)
查看>>