JavaScript捕获与冒泡与委托
2024-09-01 04:33:47
事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。
相反的,事件冒泡是自下而上的去触发事件。
并不是所有的事件都能冒泡,以下事件不冒泡:blur、focus、load、unload
阻止冒泡的方法
if(event && event.stopPropagation){ // w3c标准
event.stopPropagation();
}else{ // IE系列 IE 678
event.cancelBubble = true;
}
事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。
$("#info_table td").bind(
{
click:function(){$("p").slideToggle();},
mouseover:function(){$("body").css("background-color","red");},
mouseout:function(){$("body").css("background-color","#FFFFFF");}
}
);
$("#info_table td").live("click",function(){/*显示更多信息*/});
$("#info_table").delegate("td","click",function(){/*显示更多信息*/});
$(elems).on(events, selector, data, fn);
$(elems).off(events, selector, fn);
如果指定selector,则为事件委托;否则,就是常规绑定。
现在只要用on方法就可以了,推荐用on方法进行委托或常规绑定事件
If there are similarities, forgive me.
最新文章
- C#_技巧:计算代码块运行的时间
- Lucene教程(转)
- Java——字符集:Charset
- UML精粹1 - 简介
- web负载均衡
- static声明初始化块的一下注意事项
- 九度oj 1349 数字在排序数组中出现的次数
- 大数据笔记11:MapReduce的运行流程
- swift优秀学习博客
- matlab中s函数编写心得(转)
- sql语句:创建事物
- IOS 中的JS
- C++版 - 剑指offer之面试题37:两个链表的第一个公共结点[LeetCode 160] 解题报告
- Always an Integer 数论和字符串处理
- 42 【docker】run命令
- ccf碰撞的小球
- 开始使用ARC
- 键盘event.which属性
- python实战===图片转换为字符的源码(转)
- 运维必须掌握的Linux面试题
热门文章
- 完美实现鼠标拖拽事件,解决各种小bug,基于jquery
- Struts2之Struts2
- Win10版《芒果TV》获评2016年度Windows Store最佳官方/休闲娱乐应用(LiveSino和微软信仰中心联合评选)
- C# Lambda表达式Contains方法 like
- Android零基础入门第61节:滚动视图ScrollView
- C#图片灰度处理(位深度24→位深度8)
- Python日记:基于Scrapy的爬虫实现
- VC 函数调用的 汇编代码 浅析
- java中的String、StringBuffer、StringBuilder的区别
- 3023Java_控制语句