亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

javascript - 在移動設備上快速滾動屏幕然后點擊使滾動停止,如何盡量避免在點擊時誤觸<a>標簽,跳轉到其他頁?

瀏覽:74日期:2022-12-05 10:32:38

問題描述

1 問題:在移動設備上快速滾動屏幕然后點擊使滾動停止,如何盡量避免在點擊時誤觸a標簽,跳轉到其他頁?

2 這也是在移動端的前端開發中實際遇到的一個問題,詳細說來就是在正常情況下,當我們的當前頁面內容較多,高度上較高,出現滾動條的時候,當我們用手滑動屏幕,屏幕上頁面內容會快速滾動,不會因為手已經離開了屏幕而滾動停止。這個時候,當我們想要停止滾動的時候,我們也輕輕點擊屏幕,讓屏幕停止。但是這個時候有個問題,如果屏幕上點擊的位置,正好有一個a標簽,或者有一個button,這個時候就很容易進入下一個路由。查看了mdn上的關于scroll事件的一些說明,并沒有對scroll過程中的速度和停止的反應時間這方面的說明。

我的思路是先判斷滾動事件是否已經停止,當停止之后,再給一定時間的延時,之后的點擊才有效。這樣的話,當快速滾動之后,第一次點擊屏幕,讓屏幕滾動停止,第二次點擊屏幕,如果是點擊了一個a標簽才能跳轉到其他路由。應該如何實現呢。

問題解答

回答1:

你們產品要求這么苛刻嗎,我感覺這不應該成為問題,應該遵循這樣的物理邏輯,我是沒見過哪個產品規避了這個邏輯。如果非要解決,你的思路是可行的,那樣的話,你需要代理所有鏈接或有點擊行為的元素,個人認為是一種得不償失的做法。

回答2:

設一個狀態值就可以,就比如說,你滾動的時候狀態值isScrolling = true;當滾動完成或者被點擊停止時設置isScrolling = false. 事件觸發只能在isScrolling= false時有效。

回答3:

我也處理過相同的問題

區分點擊事件,點擊事件用touch替換

計算點擊的時長和判斷的距離,兩個參數,判斷是不是觸發點擊事件

如果還不清楚的話 我晚點給你一下demo

$(’#allItems’).delegate(’.js-snifferFullNet’,’click touchend’,function(e) { console.log(’touchend test2 數據是:’+(document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop)); var endTime = new Date().getTime() - startTime; console.log(endTime); if(e.type==’touchend’ &&((10<endTime)|| (Math.abs(touch_pos-(document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop))>3))) return; else{console.log(this);var type = e.currentTarget.childNodes[2].innerText;regClickBtn.snifferAllNetBtn(type); }});

標簽: JavaScript
主站蜘蛛池模板: 色视频在线观看视频 | 久久国产精品免费 | 免费在线观看中文字幕 | 免费国产成高清人在线视频 | aaa成人永久在线观看视频 | 亚洲国产午夜看片 | 米奇精品一区二区三区 | 国产美女激情视频 | 在线不卡一区二区三区日韩 | 高清一级做a爱过程免费视频 | 青青草社区 | 欧美日韩国产一区二区三区在线观看 | 一级做a爰片性色毛片黄书 一级做a爰片性色毛片新版的 | 青青青国产精品国产精品久久久久 | a级毛片无码免费真人 | 亚洲一区二区三区四区视频 | 国产女人精品性视频 | 亚洲美女aⅴ久久久91 | 日本黄色网址免费 | 免费看人做人爱视频拍拍拍 | 九九热视频在线免费观看 | 美国特级a毛片免费网站 | 黄片毛片视频 | 在线观看日本一区 | 日本69sex护士www | 国产精品嫩草影院午夜 | 夜夜精品视频一区二区 | 国产香蕉91tv永久在线 | 久久精品国产精品亚洲20 | 78m成人亚洲| 拍拍拍拍拍拍拍无挡大全免费 | 亚洲尹人香蕉网在线视颅 | 黄色大片视频在线观看 | 欧美三级黄色 | 精品黄色录像 | 国产一区二区精品久久 | 久久亚洲人成国产精品 | 久久国产精品一区二区 | 免费播放欧美毛片 | 国产精品免费一区二区区 | 免费观看一级黄色片 |