vue.js中修飾符.stop的用法解析
修飾符.stop的用法
.stop修飾符是用來阻止冒泡事件的發(fā)生的。
用法如下
<a v-on:click.stop="doThis"></a>
下面是全部的代碼
<!DOCTYPE html>
<html lang="en">
<head>
? ? <meta charset="UTF-8">
? ? <title>Title</title>
? ? <script src="vue.js"></script>
</head>
<style>
? ? #gpa {
? ? ? ? margin: 0 auto;
? ? ? ? width: 100px;
? ? ? ? height: 60px;
? ? ? ? background: green;
? ? }
? ? #pa {
? ? ? ? width: 60px;
? ? ? ? height: 40px;
? ? ? ? background: pink;
? ? ? ? margin: 0 auto;
? ? ? ? text-align: center
? ? }
</style>
<body>
//--------------------------------重點(diǎn)是這一部分代碼。
<div id="gpa" v-on:click="dodo">
? ? <div id="pa" v-on:click="doThat">
? ? ? ? <a ?v-on:click.stop="doThis" rel="external nofollow" >百度</a>
? ? //點(diǎn)擊百度的時(shí)候不發(fā)生冒泡,執(zhí)行doThis函數(shù),然后跳轉(zhuǎn)到百度首頁(yè)。
? ? </div>
? ? //點(diǎn)擊粉色部分,即pa部分,發(fā)生冒泡,執(zhí)行doThat,dodo函數(shù)。
</div>
</body>
<script>
? ? var gpas = new Vue({
? ? ? ? el:'#gpa',
? ? ? ? data:{
? ? ? ? },
? ? ? ? methods:{
? ? ? ? ? ? doThis:function(){
? ? ? ? ? ? ? ? alert("doThis");
? ? ? ? ? ? },
? ? ? ? ? ? doThat:function (){
? ? ? ? ? ? ? ? alert("doThat")
? ? ? ? ? ? },dodo:function(){
? ? ? ? ? ? ? ? alert("dodo")
? ? ? ? ? ? }
? ? ? ? }
? ? })
? ? </script>
</html>stop事件修飾符
| 修飾符 | 說明 |
|---|---|
| .stop | 阻止冒泡 |
stop事件修飾符具體介紹
.stop
.stop用來防止冒泡
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="./lib/vue-2.4.0.js"></script>
<style>
.inner {
height: 150px;
background-color: gold;
}
.outer {
padding: 40px;
background-color: red;
}
</style>
</head>
<body>
<div id="app">
<div class="inner" @click="div1Handler">
<input type="button" value="點(diǎn)擊" @click="btnHandler">
</div>
</div>
<script>
var vm = new Vue({
el:"#app",
data: {
},
methods: {
div1Handler() {
console.log('這是觸發(fā)了 inner div 的點(diǎn)擊事件')
},
btnHandler() {
console.log('這是觸發(fā)了 btn 按鈕 的點(diǎn)擊事件')
}
}
})
</script>
</body>
</html>
頁(yè)面操作效果

我們看到不光點(diǎn)擊按鈕的點(diǎn)擊事件觸發(fā)了,而且父容器div的點(diǎn)擊事件也觸發(fā)了,這時(shí)我們就可以使用.stop來阻止這個(gè)冒泡了,如下

在訪問測(cè)試

通過輸出可以看到點(diǎn)擊事件沒有往上冒泡了!
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue+vue-validator 表單驗(yàn)證功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue+vue-validator 表單驗(yàn)證功能的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11
Vue3?-?setup?script的使用體驗(yàn)分享
Vue3中的setup一種是setup函數(shù),一種是script setup,這篇文章主要給大家介紹了關(guān)于Vue3?-?setup?script使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
Vue頁(yè)面刷新記住頁(yè)面狀態(tài)的實(shí)現(xiàn)
這篇文章主要介紹了Vue頁(yè)面刷新記住頁(yè)面狀態(tài)的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-12-12
Vue?Router嵌套路由(children)的用法小結(jié)
嵌套路由就是父路由里面嵌套他的子路由,父路由有自己的路由導(dǎo)航和路由容器(router-link、router-view),通過配置children可實(shí)現(xiàn)多層嵌套,這篇文章主要介紹了Vue--Router--嵌套路由(children)的用法,需要的朋友可以參考下2022-08-08
vue使用Split封裝通用拖拽滑動(dòng)分隔面板組件
這篇文章主要介紹了vue使用Split封裝通用拖拽滑動(dòng)分隔面板組件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
vue 獲取及修改store.js里的公共變量實(shí)例
今天小編就為大家分享一篇vue 獲取及修改store.js里的公共變量實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
vue使用$emit實(shí)現(xiàn)同步調(diào)用
這篇文章主要介紹了vue使用$emit實(shí)現(xiàn)同步調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
解決vue 使用setTimeout,離開當(dāng)前路由setTimeout未銷毀的問題
這篇文章主要介紹了解決vue 使用setTimeout,離開當(dāng)前路由setTimeout未銷毀的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
vue手機(jī)端input change時(shí),無法執(zhí)行的問題及解決
這篇文章主要介紹了vue手機(jī)端input change時(shí),無法執(zhí)行的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05

