在事件修饰符下的vue文档中,有一个调用的示例,capture其中包含以下内容:
<!-- use capture mode when adding the event listener -->
<div v-on:click.capture="doThis">...</div>
Run Code Online (Sandbox Code Playgroud)
我已经做了一些搜索,但是没有找到关于如何修改事件绑定的明确答案,然后我想到了自己'你知道谁总能找到答案吗?堆栈溢出'
aut*_*xer 12
所以发布后我偶然发现了这篇文章,清楚地说明了这一点.让我们说这个例子你有三个元素嵌套在一起:
<div class="outer">
<div class="middle">
<div class="inner"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当发生单击事件时,有两个阶段:第一阶段称为捕获,第二阶段称为冒泡.当你点击.inner,该事件从最外层容器元素贯穿下来.outer,到.middle,然后.inner在拍摄阶段,然后.inner到.middle,然后.outer在冒泡阶段.
如果为click事件处理程序设置了capture.inner:
<div class="outer">
<div class="middle">
<div class="inner" v-on:click.capture="doThis"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
然后点击它,它会调用doThis(...)三次,第一次来自.outer,第二次来自.middle,第三次来自.inner.
如果为单击事件处理程序设置了捕获.middle
<div class="outer">
<div class="middle" v-on:click.capture="doThis">
<div class="inner"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
然后你点击它,它将调用doThis(...)两次,第一次来自.outer和第二次.middle
| 归档时间: |
|
| 查看次数: |
5438 次 |
| 最近记录: |