0

私はhtmlWebアプリを持っており、次のようなスライダーを追加しています。

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

Webでもデバイスでもうまく機能します。

ここで、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 に答える