滚动ios设备手指输入标签

Cap*_*ate 6 html css ios

我在一个带有一些输入字段的网站上有一个基本表单.如果用户试图滚动页面,并通过将手指放在输入框中开始滚动,则不会让页面滚动.如果他们用手指在身体某处开始滚动,页面滚动就好了.

这个人似乎也有同样的问题,但是他说以前的开发人员有目的地实现了这个问题,我肯定没有这个问题. 输入字段可防止页面在iphone上滚动

有任何想法吗?

小智 0

此问题的解决方法可能是:

function setTextareaPointerEvents(value) {
    var nodes = document.getElementsByTagName('textarea');
    for(var i = 0; i < nodes.length; i++) {
        nodes[i].style.pointerEvents = value;
    }
}

document.addEventListener('DOMContentLoaded', function() {
    setTextareaPointerEvents('none');
});

document.addEventListener('touchstart', function() {
    setTextareaPointerEvents('auto');
});

document.addEventListener('touchmove', function() {
    e.preventDefault();
    setTextareaPointerEvents('none');
});

document.addEventListener('touchend', function() {
    setTimeout(function() {
        setTextareaPointerEvents('none');
    }, 0);
});
Run Code Online (Sandbox Code Playgroud)

这将使 Mobile Safari(其他尚未测试的浏览器)忽略滚动的文本区域,但允许像往常一样设置焦点等。