jQuerymobile滑块触摸延迟

问题描述:

我正在使用滑块来更改我使用flot显示的图表的最小/最大值。jQuerymobile滑块触摸延迟

这是我的滑HTML:

<div id=timerangeslider> 
     <form> 
      <div class="ui-grid-a" id="slider3"> 
      <label for="slider-2">Anzeige-Zeitraum (in Stunden):</label> 
      <input type="range" name="slider-2" id="slider-2" data-highlight="true" min="1" max="48" value="24"> 
      </div><!-- /ui-grid --> 
     </form></div> 

,这是我的jQuery:

function timerangeslider() { 
    $(document).ready(function(){ 
     $("#slider-2").change("click",function() { 
      timerange = $("#slider-2").val(); 
      energyPlot(d,timerange) 
     }); 
    }); 
} 

函数被调用的 “pageinit”。 它调用另一个函数“energyPlot”这将更新我的图表(使用海军报)

问题该解决方案是,重新借鉴了“#滑块-2” 所以这个作品的价值的每一次改变我的图表,但看起来像废话。

另一种解决办法是这样的:

function timerangeslider() { 
    $(document).ready(function(){ 
     $(document).on("click","#timerangeslider",function(event) { 
      timerange = $("#slider-2").val(); 
      energyPlot(d,timerange) 
     }); 
    }); 
} 

这里的问题,我的设备上(与PhoneGap的),它不实际的滑块识别触摸。您可以单击左侧的滑块数量并触摸,但如果拖动滑块,则不会。它可以在浏览器中工作,不过。

任何想法如何对实际滑块上的触摸作出反应(在带有phonegap的设备上) 或者有关如何仅在滑块停止时重新绘制图表的第一个解决方案的任何想法?

就找到了解决办法在这里jQueryMobile slider change event

似乎有一个名为“slidestop”滑块一个事件,你可以听它。

所以我用这个:

function timerangeslider() { 
     $("#slider-2").on("slidestop",function(event) { 
      timerange = $("#slider-2").val(); 
      energyPlot(d,timerange); 
     }); 
} 
+1

不使用''。就绪JQM中的()。 – Omar