【问题标题】:html prevent scrolling also prevents html5 input type rangehtml 防止滚动也可以防止 html5 输入类型范围
【发布时间】:2013-02-15 05:32:23
【问题描述】:

我有一个 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 滑块的默认行为,我该如何恢复?

【问题讨论】:

  • 刚刚想到了一些事情,也许我可以检查一下事件的所有者,如果是滑块,让它通过

标签: html html-input


【解决方案1】:

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

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

只要检查元素有什么id,如果是你想让它处理的东西,让它通过/不要调用preventDefault();

【讨论】:

    猜你喜欢
    • 2021-12-02
    • 2021-12-09
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多