0

我有一个 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 滑块的默认行为,我怎样才能恢复它?

4

1 回答 1

1

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

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

只需检查元素具有的 id,如果它是您想要允许它处理的东西,就让它通过/不要调用 preventDefault();

于 2013-02-14T21:32:23.073 回答