title: How to retrieve the click event's value of a range input with an Ipad?
body: <p>Currently working on a custom slider (i.e. input of type "range") inside a react typescript website, it works well on desktop (MacOs and Windows + targeted browsers) and android but something is missing on Ipad (we only focus tablets). 
  The issue is that we can't set the value by tapping on the slider itself : we can drag it and tap on the labels in top of it but not inside.</p>
  
  <p>I've seen many topics telling that Apple touchable device works differently for many events so I have debug mine to see what was wrong.
  My "onClick" method set the current value of the slider based on the value coming from the event but the result shows that, only when executing on Ipad (on Safari and Chrome), those two variables are equals (and so my slider update its value correctly but with the current one) !
  In any other environnement, all is working fine and the value of the event is correctly what should be the "future value".</p>
  
  <p>I've also test the different touch events as described below but none was trigger, even with some default preventing.</p>
  
  <p>This is the slider itself (only onClick is triggered) :</p>
  
  <pre><code>&lt;input 
      type="range"
      min={-half}
      max={half}
      step="1"
      value={this.state.selectedRange}
      onTouchStart={(e: any) =&gt; { console.log("on touch : " + e.target.value);}}
      onTouchMove={(e: any) =&gt; { console.log("on touch : " + e.target.value);}}
      onTouchCancel={(e: any) =&gt; { console.log("on touch : " + e.target.value);}}
      onTouchEnd={(e: any) =&gt; { console.log("on touch : " + e.target.value);}}
      onTouch={(e: any) =&gt; { console.log("on touch : " + e.target.value);}}
      onClick={(e: any) =&gt; this.onClickSlider(e, "Inputslider + changer")}
      defaultValue={this.state.selectedRange}
      onChange={(e: any) =&gt; { this.onChange(e); }}
  /&gt;
  </code></pre>
  
  <p>And the onClickSlider :</p>
  
  <pre><code>onClickSlider(e: any, m: string) {
      let value: any = e.target.value;
  
      console.log("New Value : " + e.target.value);
      // target value is equal to the current value... (only on Ipad)
  
      if (this.props.onChange) {
          if (!this.props.slider) {
              value = value - 1;
          }
          this.props.onChange(value);
      }
  }
  </code></pre>
  
  <p>I didn't expect an event's value behavior to change so drastically...</p>
  
  <p>Does anyone has a suggestion on how can I retrieve the value of the position where the user touch the slider (it can involved specific platform condition) ?</p>
  
  <p>Thank you !</p>