久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

解決vue的touchStart事件及click事件沖突問題

瀏覽:95日期:2023-01-01 09:26:31

一 、問題:

今天遇到這樣問題,給某個元素同時綁定touchStart及click事件后,若在移動設備上,當你點擊時,會依次出發這兩個事件。因為移動端設備上的click事件觸發是會延遲300ms,所以touchStart事件會先觸發后再觸發click事件。這樣導致每次都要執行兩次,這樣毫無意義。這里提醒下,PC是無法識別touch相關事件

二、解決方式

(1)preventDefault方法

通過使用preventDefault方法(阻止元素默認事件行為的發生)來解決。在touchstart中添加 e.preventDefault()就可以阻止click事件觸發。

模板

<ul class='list'> <li v-for='item of letters' :key='item' :ref='item' @touchstart='handleTouchStart' @click='handleleterClick' >{{item}}</li> </ul>

上面模板可以使用vue事件修飾符@touchstart.stop.prevent實現,但method中的handleTouchStart 就無需添加 e.preventDefault();

<ul class='list'> <li v-for='item of letters' :key='item' :ref='item' @touchstart.stop.prevent='handleTouchStart' @click='handleleterClick' >{{item}}</li> </ul>

methods: { handleleterClick (e) { console.log(’click事件執行一次’) this.$emit(’change’, e.target.innerText) }, handleTouchStart (e) { console.log(’TouchStart執行一次’) e.preventDefault()//添加阻止click事件觸發 this.touchStatus = true } }}

未添加 e.preventDefault()前打印結果

解決vue的touchStart事件及click事件沖突問題

添加 e.preventDefault()后打印結果

解決vue的touchStart事件及click事件沖突問題

(2)判斷瀏覽器是否支持觸屏事件

通過'ontouchend' in document來判斷瀏覽器是否支持觸屏事件,若支持調用touch事件,不支持調用click事件。

<ul class='list'> <li v-for='item of letters' :key='item' :ref='item' @click='handleSelfClick' >{{item}}</li> </ul>

methods: { handleleterClick (e) { console.log(’click事件執行一次’) this.$emit(’change’, e.target.innerText) }, handleTouchStart (e) { console.log(’TouchStart執行一次’) this.touchStatus = true }, handleSelfClick (e) { console.log(’ontouchstart’ in document)//打印是否支持touch事件。 if (’ontouchstart’ in document) { this.handleTouchStart(e) } else { this.handleleterClick(e) } } }

以上這篇解決vue的touchStart事件及click事件沖突問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 精品久久久久久亚洲综合网 | 在线免费视频一区二区 | 谁有毛片 | 最新午夜 | 91看片网 | 国产拍揄自揄精品视频麻豆 | 欧美99 | 91在线一区二区 | 亚洲欧美另类在线观看 | 午夜男人网 | 天天干天天干天天干天天射 | 91精品久久| 欧洲精品在线视频 | 在线播放黄色片网站 | 亚洲视频在线播放 | 日韩综合区| 国产国拍亚洲精品av | 中文字幕在线观看不卡视频 | 久久国产精品久久 | 国产精品7 | 久久精品欧美一区二区三区不卡 | 午夜私人影院 | www,四虎| 亚洲一区二区视频 | 亚洲h| 欧美国产免费 | 国语av在线 | 一区毛片 | 蜜桃在线视频 | 二区在线观看 | 91精品国产91久久久久游泳池 | 欧美视频在线免费 | 中文字幕亚洲一区二区va在线 | 狠狠av| 亚洲高清视频一区二区三区 | 欧美一级在线免费观看 | 亚洲久久一区 | 国产三区在线观看视频 | 91视频在线 | 成人午夜电影网 | 久久久97 |