html防止滚动也会阻止html5输入类型范围

时间:2013-02-14 21:11:34

标签: html5 html-input

我有一个html网络应用,我正在添加滑块:

<form oninput="output1.value=slider1.value">
  <input type="range" name="slider1" value="50"/>
  <output name="output1" for="slider1">50</output>
</form>

在网络和设备上运行良好。

现在,当我添加preventdefault代码来停止页面滚动时,它会中断:

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

现在,如果这是我自己的控件,我可以解决它,但我想要html5滑块的默认行为,我该怎么回来?

1 个答案:

答案 0 :(得分:1)

不确定这可能是重复的,但以防万一:

function stopScrolling( touchEvent ) {
    if ((touchEvent.target.id != "pastGenSlider") && (touchEvent.target.id != "curGenSlider"))
        touchEvent.preventDefault(); 
}
document.addEventListener( 'touchmove' , stopScrolling , false );

只需检查元素的id,以及是否允许它处理它,只需让它通过/不要调用preventDefault();