使用@tap.stop阻止事件繼續(xù)傳播
@tap.stop阻止事件繼續(xù)傳播
在uni-app開發(fā)當(dāng)中,難免會遇到外層view嵌套內(nèi)層view,又同時都含有點(diǎn)擊事件,這樣就會起沖突。
為了防止事件的繼續(xù)傳播我們就會用到事件修飾符.stop
先看代碼:
<template> ?? ?<view class="wai" @tap="waiTab"> ?? ??? ?<h5>外面</h5> ?? ??? ?<view class="nei" @tap="neiTab"> ?? ??? ??? ?<h5>內(nèi)部</h5> ?? ??? ?</view> ?? ?</view> </template>
<script>
?? ?export default {
?? ??? ?data() {
?? ??? ??? ?return {
?? ??? ??? ??? ?
?? ??? ??? ?}
?? ??? ?},
?? ??? ?methods: {
?? ??? ??? ?waiTab(){
?? ??? ??? ??? ?console.log("點(diǎn)擊了外邊")
?? ??? ??? ?},
?? ??? ??? ?neiTab(){
?? ??? ??? ??? ?console.log("點(diǎn)擊了內(nèi)部")
?? ??? ??? ?}
?? ??? ?}
?? ?}
</script><style>
?? ?.wai{
?? ??? ?width: 100%;
?? ??? ?height: 100px;
?? ??? ?display: flex;
?? ??? ?justify-content: center;
?? ??? ?background-color: #0000FF;
?? ?}
?? ?.nei{
?? ??? ?display: flex;
?? ??? ?justify-content: center;
?? ??? ?align-items: center;
?? ??? ?width: 50px;
?? ??? ?height: 50px;
?? ??? ?background-color: #00CE47;
?? ?}
</style>效果是這樣的:

當(dāng)我們點(diǎn)擊外部時:

當(dāng)我們點(diǎn)擊內(nèi)部時:

解決方法:只需在@tap后面加.stop就可以阻止事件繼續(xù)傳播
<view class="wai" @tap.stop="waiTab"> <h5>外面</h5> <view class="nei" @tap.stop="neiTab"> <h5>內(nèi)部</h5> </view> </view>
uniapp+uview @tap.stop="stop"組織冒泡失效bug
阻止事件冒泡時,直接在需要使用的方法上加.stop無效
需要在外層加一層標(biāo)簽 <view @tap.stop=“stop”>
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue element-ui el-cascader級聯(lián)選擇器數(shù)據(jù)回顯的兩種實現(xiàn)方法
這篇文章主要介紹了vue element-ui el-cascader級聯(lián)選擇器數(shù)據(jù)回顯的兩種實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。2023-07-07
一步步教你搭建VUE+VScode+elementUI開發(fā)環(huán)境
這篇文章主要給大家介紹了關(guān)于搭建VUE+VScode+elementUI開發(fā)環(huán)境的相關(guān)資料,近期被配置環(huán)境的事情弄得整個人都要炸了,現(xiàn)在整理如下,希望有相同需求的朋友可以不用走彎路,需要的朋友可以參考下2023-07-07
解決在vue+webpack開發(fā)中出現(xiàn)兩個或多個菜單公用一個組件問題
這篇文章主要介紹了在vue+webpack實際開發(fā)中出現(xiàn)兩個或多個菜單公用一個組件的解決方案,需要的朋友可以參考下2017-11-11
VUE數(shù)組根據(jù)索引刪除數(shù)據(jù),頁面同時更新的實現(xiàn)方法
這篇文章主要介紹了VUE數(shù)組根據(jù)索引刪除數(shù)據(jù),頁面同時更新的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07

