我正在一个有很多形式的网站上工作.我注意到当你在
iphone上滚动/滑动网站时,如果你的手指在输入字段上,页面就不会滚动.要滚动你必须用手指瞄准身体.
有人对这个奇怪的行为有什么看法?
它只是简单的输入包装在一个表单标签.
最佳答案 此问题的解决方法可能是:
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);
});
这将使Mobile Safari(其他未测试到目前为止)忽略textareas进行滚动,但允许像往常一样设置焦点等.