EonerCMS——做一个仿桌面系统的CMS(六)

简介:

事件冒泡

  事件冒泡是个很常见的问题,不过我之前没听说过,所以这里只是做个笔记,如果了解事件冒泡,并清楚如何处理的,可以直接跳过这篇文章。下面我们看下这面这demo,点击红色区域,会弹出1,点击灰色,会弹出2。

alert(2);
alert(1);
$( "#div1" ).click( function (){
     alert(1);
});
$( "#div2" ).click( function (){
     alert(2);
});

  处理办法其实很简单,有两种,一种就是“e.stopPropagation();”,另外一种就是“return false;”。

alert(2);
alert(1);
$( "#div1" ).click( function (){
     alert(1);
});
$( "#div2" ).click( function (e){
     e.stopPropagation();
     alert(2);
});

  或者:

$( "#div1" ).click( function (){
     alert(1);
});
$( "#div2" ).click( function (e){
     alert(2);
     return  false ;
});

  两种解决办法的区别就是,return false必须放在方法最后,不然之后的代码也就不执行了,也就是说,当你把return false放在最头部的时候,不仅阻止了事件往上冒泡,而且阻止了事件本身。

  关于在EonerCMS里哪里会用到阻止冒泡呢,看下这张图吧

  由于title区域的拖动事件执行顺序是mousedown->mousemove,所以在title区域里的最大化、最小化等按钮,他们的事件虽然是click,但click默认也执行了mousedown,所以这里需要先统一阻止冒泡。

//组织冒泡,之前对窗口绑定过事件
obj.find( "a" ).bind( "mousedown" , function (e){
     e.stopPropagation();
});


   本文转自胡尐睿丶博客园博客,原文链接:http://www.cnblogs.com/hooray/archive/2011/10/04/2198760.html,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 数据处理 计算机视觉
YOLOv8改进 | 2023 | 将RT-DETR模型AIFI模块和Conv模块结合替换SPPF(全网独家改进)
YOLOv8改进 | 2023 | 将RT-DETR模型AIFI模块和Conv模块结合替换SPPF(全网独家改进)
600 0
SAP VLPOD 报错 - Update control of movement type is incorrect (entry 107 X X E B _ E) - 之对策
SAP VLPOD 报错 - Update control of movement type is incorrect (entry 107 X X E B _ E) - 之对策
SAP VLPOD 报错 - Update control of movement type is incorrect (entry 107 X X E B _ E) - 之对策
|
人工智能 达摩院 供应链
名人堂|阿里巴巴CTO程立:未来12年 科技从更高到更好
11月11日,在2021天猫双11媒体沟通会上,阿里巴巴集团首席技术官程立分享了主题为“双11的再进化 阿里巴巴好科技的新起点”的演讲。
名人堂|阿里巴巴CTO程立:未来12年 科技从更高到更好
|
机器学习/深度学习 JSON PHP
php中json_decode()和json_encode()的使用方法
php中json_decode()和json_encode()的使用方法 作者: 字体:[增加 减小] 类型:转载   json_decode对JSON格式的字符串进行编码而json_encode对变量进行 JSON 编码,需要的朋友可以参考下   1.
1555 0