我有一個簡單的HTML頁面,當我觸摸div時,我們無法滾動。你可以找到這個頁面here在移動設備上禁用滾動
如果你打開這個頁面的桌面瀏覽器,如Firefox,如果你按住div不能滾動。
現在我想在移動設備上的這種行爲,如Android。事實上在Android上,如果你打開這個頁面,你可以在任何情況下滾動。
對不起,在我的例子的顏色;)
我有一個簡單的HTML頁面,當我觸摸div時,我們無法滾動。你可以找到這個頁面here在移動設備上禁用滾動
如果你打開這個頁面的桌面瀏覽器,如Firefox,如果你按住div不能滾動。
現在我想在移動設備上的這種行爲,如Android。事實上在Android上,如果你打開這個頁面,你可以在任何情況下滾動。
對不起,在我的例子的顏色;)
我想你是問如何在移動設備上禁用滾動:
您可以添加的事件偵聽器touchstart
和touchmove
。然後當這些事件被觸發時,使用Modernizr來檢測瀏覽器是否是觸摸設備。顯然,並非所有的手機都是觸摸設備,並且有觸摸設備具有高分辨率,因此可隨意添加或添加到if語句中。
document.addEventListener('touchstart', this.touchstart);
document.addEventListener('touchmove', this.touchmove);
function touchstart(e) {
e.preventDefault()
}
function touchmove(e) {
e.preventDefault()
}
或者,只是使用Modernizr的,然後使用CSS:
html.touch body {
overflow:hidden;
}
,然後添加媒體查詢,有效有你或聲明。
感謝您的回答,事件touchstart和touchmove運行良好,但preventDefault方法不起作用。 Modernizr的CSS代碼不起作用。我更新了我的代碼,以便您可以在移動設備上進行測試。 – Podelo
@Podelo看到更新,我忘了把'e'作爲參數 – ediblecode
Ho就是這樣......非常感謝它現在的作品:) – Podelo
我可以在Chrome和Firefox中滾動 – ediblecode
保持鼠標點擊並且無法滾動 – Podelo