4
我有很長的用戶可以滾動的垂直鏈接列表,並且我需要防止在用戶滾動時在此鏈接上觸發click
事件(觸摸)。如果在手機上滾動,請阻止點擊鏈接
在當前的情況下,當用戶通過點擊鏈接開始滾動時,它也會在鏈接上觸發click
。這顯然是不好的。那麼,有沒有辦法阻止這種行爲?
我有很長的用戶可以滾動的垂直鏈接列表,並且我需要防止在用戶滾動時在此鏈接上觸發click
事件(觸摸)。如果在手機上滾動,請阻止點擊鏈接
在當前的情況下,當用戶通過點擊鏈接開始滾動時,它也會在鏈接上觸發click
。這顯然是不好的。那麼,有沒有辦法阻止這種行爲?
我們可以用一個標誌,在這種情況下,防止剛剛在滾動過程中click
事件和滾動停止後啓用它。
要聽上滾動停止,你可以使用jQuery的數據的方法,讓我們能夠與DOM節點的任意數據,並使用setTimeout()
功能,將檢查每250ms
如果用戶仍然觸發滾動相關聯的能力,如果沒有它會改變國旗:
var disable_click_flag = false;
$(window).scroll(function() {
disable_click_flag = true;
clearTimeout($.data(this, 'scrollTimer'));
$.data(this, 'scrollTimer', setTimeout(function() {
disable_click_flag = false;
}, 250));
});
$("body").on("click", "a", function(e) {
if(disable_click_flag){
e.preventDefault();
}
});
希望這會有所幫助。
你是否改變了觸摸行爲?在我的手機上,如果我開始滾動鏈接,那麼鏈接不會被觸發... –
在我自己的移動瀏覽體驗中,我遇到過這個問題 - Upvote。 我沒有花費任何努力來試圖遏制這種行爲,但我的頭頂。您可以創建一個更大的元素來分隔實際鏈接和_item_的其餘部分。請仔細看這篇文章... – Terrance00