冒泡与捕获

今天给大家补充一些知识,冒泡与捕获以及相关的知识。

一.冒泡与捕获

1.概念。

冒泡事件:微软公司提出的,事件由子元素传递到父元素的过程叫做冒泡(false)。

捕获事件:网景公司提出的,事件由父元素传递到子元素的过程叫做事件捕获(ture)。

2.冒泡事件与捕获事件的区别

冒泡事件:事件从子级向父级传递。捕获事件:事件从父级传递向子级。

这里我用代码给大家进行一下解释:冒泡与捕获_第1张图片

 首先有三个div  层级分别为d1>d2>d3。为他们分别添加点击事件,当我们点击d1,只会打印d1.但当我们点击d2 打印结果依次为d2 d1;点击d3  打印结果为d3 d2 d1.

这就是冒泡排序,事件从子级向父级传递。

 在捕获事件触发的前提,我们需要使用事件监听 document.addEventListener('event',funciton(){},true)  这里的true是布尔值判断是否为捕获事件,当为true时,这里为捕获事件,如果为false时,这里就是冒泡事件。用代码给大家解释一下:冒泡与捕获_第2张图片

 当我们点击d1时,打印d1.但是当我们点击d3时,打印结果依次为d1 d2 d3.冒泡与捕获_第3张图片

 结果由父级传递向子级,这个过程称为捕获事件。

二.阻止冒泡与阻止默认

1.阻止冒泡就是让我们的层级事件不再触发,在点击子级时,父级不会触发点击事件。一般我们使用e.stoppropagation();来阻止冒泡。用代码给大家解释一下:冒泡与捕获_第4张图片

 这里给d3添加了阻止冒泡事件,所以我们在点击d3时,不会再打印d2 d1,只打印d3.

2.阻止默认:一般我们在文档中想复制一些文字,按住就可以勾选,但是当我们使用了阻止默认,内容就无法勾选。通常我们使用e.preventDefault()方法来阻止默认。

3.总结:e.stoppropagation()阻止冒泡  e.preventDefault()阻止默认  return false;既阻止冒泡又阻止默认

你可能感兴趣的:(css3,javascript,前端)