博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery live,bind,delegate
阅读量:6610 次
发布时间:2019-06-24

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

hot3.png

事件的触发原理:事件的触发是通过Javascript的事件冒泡机制来监测

1.bind 绑定的DOM元素。(bind方法只能给当前存在的元素绑定事件,对于事后采用JS等方式新生成的元素无效).(原因:后加的DOM元素还没有被DOM树识别)。(可以通过find方法再一次遍历一遍DOM树,但是太麻烦了)!

2.live  绑定的是DOM树。(所以能对后生成的元素也绑定相应的事件的原因归结在“事件委托”上面,所谓“事件委托”就是指绑定在祖先元素上的事件可以在其后代元素上进行使用。live方法的处理机制就是把事件绑定在DOM树的根节点上,而不是直接绑定在某个元素上。

3.delegate 绑定是的是DOM树。(live与delegate  相比,后者的效率要高。)

  Array.prototype.get = function(n) { 

                if (n<0) {
return; 
}
                return this.slice(0,n); 
            }
            Array.prototype.del = function(n) { 
                if (n<0) {
return; 
}
                return this.splice(0,n); 
            }

bind是绑定到DOM元素身上的。

live、delegate、on之类的是通过冒泡filter判断来源触发的。

bind只能是DOM存在才能绑定,live等是触发的时候判断。

DOM层层嵌套的,子元素在父元素里,子元素的事件理应父元素也能捕获。

事件绑定优缺点:

  1. 过多的事件绑定会损耗内存
  2. 后期生成HTML会没有事件绑定,需要重新绑定
  3. 语法过于繁杂

转载于:https://my.oschina.net/u/615191/blog/172365

你可能感兴趣的文章
CentOS 6.5下PXE+Kickstart无人值守安装操作系统
查看>>
xtrapivotcontrol 控件用法及相关属性
查看>>
Shell脚本 常用命令总结 二
查看>>
冰球游戏大概的模块
查看>>
JS模拟select下拉菜单
查看>>
线性方程组迭代求解——Jacobi迭代算法(Python实现)
查看>>
vmware workstation14永久激活密钥分享
查看>>
iOS 多线程 之 GCD(大中枢派发)(一)
查看>>
Myeclipse中打开接口实现类的快捷键
查看>>
删除sql dump中的AUTO_INCREMENT
查看>>
使用JdbcTemplate和JdbcDaoSupport
查看>>
C博客作业--指针
查看>>
版本12.2.0.1.0数据库,复制种子数据库快速创建租户数据库PDB
查看>>
mysql for Mac 下创建数据表中文显示为?的解决方法
查看>>
Glibc 和 uClibc
查看>>
VMware 虚拟机的虚拟磁盘编程知识点扫盲之二
查看>>
vs2012中自带IIS如何让其他电脑访问
查看>>
关于termux在手机上搭载Linux系统,python,ssh
查看>>
Redux:异步操作
查看>>
Mysql学习第三课-分析二进制日志进行增量备份和还原
查看>>