Javascript 如何防止输入元素的触摸屏滚动?

Javascript 如何防止输入元素的触摸屏滚动?,javascript,jquery,modal-dialog,mobile-safari,Javascript,Jquery,Modal Dialog,Mobile Safari,我在可滚动文档体的顶部有一个模式,我想在模式上平移手指时防止文档体滚动 $(document).on('touchstart touchmove', function(e){ e.preventDefault(); }); 这段代码适用于除输入元素之外的所有内容 <div id="modal"> <p>Lorem ipsum</p> <input type="text"/> </div> 同侧眼睑 如果我在输入元素中平移

我在可滚动文档体的顶部有一个模式,我想在模式上平移手指时防止文档体滚动

$(document).on('touchstart touchmove', function(e){ e.preventDefault(); });
这段代码适用于除输入元素之外的所有内容

<div id="modal">
  <p>Lorem ipsum</p>
  <input type="text"/>
</div>

同侧眼睑


如果我在输入元素中平移手指,文档将继续滚动。为什么会发生这种情况?

我猜,它正在冒泡。 将
e.stopPropagation()
添加到函数体中

$(document).on('touchstart touchmove', function(e){
    e.stopPropagation();
    e.preventDefault(); 
});