麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > CSS > 正文

CSS利用pointer-events防止重復點擊的方法實例

2024-07-11 09:07:47
字體:
來源:轉載
供稿:網友

前言

我們在前端總會遇到重復點擊的問題,由于網絡的原因,用戶不能及時得到反饋,就很可能會選擇再點擊一次,

所以這個時候就會向后端發送兩次重復的請求,這樣就很可能會導致嚴重的問題,尤其是在發 post的時候,就可能會增加兩條重復的數據。

之前我一般遇到這種情況都會在 js 的請求前做一個 canRequest 變量,由于請求是異步的,所以在請求開始后我就會將該變量設置為 false, 當請求結束后,無論成功還是失敗都要將該變量設置為 true, 簡單代碼如下:

var canRequest = truefunction postData () {  if (!canRequest) return  fetch(url)  .then(res => {    canRequest = true    })  .catch(e => {    canRequest = true  })  canRequest = false}

這樣做并沒有什么毛病,不過考慮到一般點擊后還需要將按鈕置灰,所以我找到了個從 css 層面上就阻止重復點擊的方式。

下面是個獲取短信驗證碼的示例:

<div id="count">獲取驗證碼</div>
body {    display: flex;    height: 100vh;}#count {    margin: auto;    padding: 10px;    width: 100px;    border: 1px solid;    text-align: center;    cursor: pointer;    border-radius: 4px;}.disable {    pointer-events: none;    color: #666;}
const count = document.getElementById('count')const tip = count.textContentcount.onclick = e => {    console.log(111)    count.classList.add('disable')    count.textContent = 10    var id = setInterval(() => {        count.textContent--        if (count.textContent <= 0) {            count.classList.remove('disable')            count.textContent = tip            clearInterval(id)        }    }, 1000)}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到CSS教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 视频一区二区视频 | 天天撸日日夜夜 | 国产亚洲精品久久久久婷婷瑜伽 | 日本视频网 | 国产精品久久久久无码av | h视频在线免费看 | 国产羞羞视频在线免费观看 | 日韩av影片在线观看 | 成人免费在线观看视频 | 草草久 | 色视频一区二区 | 国产精品久久久麻豆 | 热99在线 | 欧美激情综合网 | 一级黄色毛片子 | 99这里精品 | 欧美日本一区二区 | 午夜精品久久久久久久久久久久久蜜桃 | 国产精品.com | 狠狠操电影 | 男女羞羞视频 | 美女扒开腿让男生桶爽网站 | 亚洲国产精品一区二区久久 | 宅男噜噜噜66国产免费观看 | 成人免费观看49www在线观看 | 中文字幕在线不卡视频 | 爱性久久久久久久 | 欧美一级小视频 | 久久精品79国产精品 | 久久成人免费观看 | 中午日产幕无线码1区 | 国产精品av久久久久久网址 | 久久久久国产精品久久久久 | 可以看逼的视频 | 欧美色大成网站www永久男同 | 福利一区二区三区视频在线观看 | 日韩av片网站 | 韩国一级免费视频 | 日本高清在线播放 | 在线免费日韩 | 夜夜b|