capture

事件捕获:事 件捕获过程与事件的冒泡阶段是一个相反的阶段,即事件由祖先元素向子元素传播,和一个石子儿从水面向水底下沉一样,要说明的是在 IE,opera浏览器中,是不存在这个阶段的。

在上述的代码中给事件监听程序添加第三个参数false,当点击元素ele2时会看到不一样的效果,输出 结果中将会最先输出ele0,而不是ele2,这就是事件的捕获。

SetCapture 的意思就是设置一个对象的方法被触发的范围,或者作用域。

如果不设置,则div只在当前窗口内被触发。如果设置,则在整个浏览器范围内被触发,也就是可以拖到浏览器外面

setCapture可以将鼠标事件锁定在指定的元素上,当元素捕获了鼠标事件后,该事件只能作用在当前元素上。

以下情况会导致事件锁定失败:

  • 当窗口失去焦点时,锁定的事件,自动就会取消。
  • alert也会导致事件的锁定取消。解决办法是在alert之后再次锁定。
  • 鼠标右键也会导致事件解锁。
  • setCapture 使用格式

    setCapture 有一个布尔值参数,用于设置是否捕获其子元素的鼠标事件。

    •   当参数是ture时 ,当前元素会捕获其内的所有子元素的鼠标事件,即指定元素内的子元素不会触发鼠标事件,也就是当前元素内的子元素与当前元素外的元素一致。
    •   当参数为false时,当前元素不会捕获该其内的所有子元素的鼠标事件。容器内的对象能够正常地触发事件和取消冒泡。                注:https://www.jb51.net/article/93444.htm
原文地址:https://www.cnblogs.com/128lian/p/9943601.html