美文网首页
事件高级2

事件高级2

作者: 特立独行的兔子_web | 来源:发表于2019-07-18 21:01 被阅读0次

1 阻止事件冒泡:

8ec1b13621a9b2bf8cf4e4d7dfc175db.png

此时有这么一个需求,点击内层的div使该div的背景色变黄,点击外层的div或屏幕的其他地方,使内层div的背景色恢复红色,实现代码如下:

div2.onclick = function(e){

   e.target.style.backgroundColor='yellow'

 }

当只给内层div绑定事件的时候,可以使背景色变黄,然后加上点击外层div的事件,使内层div背景色恢复为红色

div1.onclick = function(e){

   div2.style.backgroundColor='red'

 }

此时我们可以看到,无论怎么点击,内层的div背景色都不会变黄了,这是因为事件冒泡的话,即使你只点击内层div,外层的click事件也会被触发,而他的事件逻辑是将内层div的背景色变红,这样一来,当点击内层div时,背景色变黄然后迅速又变红,我们看不到这个过程,只看到它一直是红的,所以要实现这个需求,就必须阻止事件的冒泡

  • IE:window.event.cancelBubble = true;

  • 非IE:e.stopPropagation();

兼容性写法:

var e = e || window.event

if(e.stopPropagation){

  e.stopPropagation()

}else{

  e.cancelBubble = true;

}

2 阻止标签默认行为 e.preventDefault()

相关文章

  • 事件高级2

    1 阻止事件冒泡: 此时有这么一个需求,点击内层的div使该div的背景色变黄,点击外层的div或屏幕的其他地方,...

  • 5.DOM:事件高级( 注册事件、事件监听、解绑事件、 DOM事

    1.1. 事件高级 1.1.1. 注册事件(2种方式) 1.1.2 事件监听 addEventListener()...

  • jQuery事件基础

    1、on()多事件绑定(多事件绑定同一个函数、多事件绑定多个函数、高级用法) 2、jQuery事件对象/事件委托(...

  • 事件高级

    1. 事件绑定 给元素添加一个事件。//div.onclick = function(){};上面这种事件的添加方...

  • 事件高级

    1. 注册事件(绑定事件) 1.1 注册事件概述 给元素添加事件,称为注册事件或者绑定事件。 注册事件有两种方式:...

  • WebAPIs-事件

    1 - 事件高级 1. 注册事件 ① 传统注册方式 onclick ② addEventListener()事件监...

  • 悠然自得

    立一个flag 高级UI 1. 屏幕适配 2. 渲染绘制 3.事件传递机制 4.动画原理 5.高级绘制 NDK开发...

  • vue组件通信原理之$bus

    事件总线$bus主要使用vue高级API vm.$on[https://cn.vuejs.org/v2/api/...

  • JQ第二天

    JQ高级 一、选择器 1、css语法匹配 2、索引匹配 二、文本、属性与类 1、文本 2、属性 3、类 三、事件 ...

  • 031 JQ高级

    JQ高级 一、选择器 1、css语法匹配 2、索引匹配 二、文本、属性与类 1、文本 2、属性 3、类 三、事件 ...

网友评论

      本文标题:事件高级2

      本文链接:https://www.haomeiwen.com/subject/oavrlctx.html