2014-08-31 2 views
0

Я использую плагин jQuery Simple Slider (fiddle here), но на сенсорных устройствах невозможно перетащить дескриптор значения диапазона.jQuery Простой слайдер не отвечает на события касания

Я попытался отредактировать часть кода из simple-slider.js ниже, заменив «mousedown, mousemove и mouseup» соответствующими значениями касания «touchstart/move/end», но это не сработало.

Как я могу заставить это работать на сенсорных устройствах?

this.track.bind("mousedown touchstart", function (e) { 
    return i.trackEvent(e) 
}), this.settings.highlight && this.highlightTrack.bind("mousedown touchstart", function (e) { 
    return i.trackEvent(e) 
}), this.dragger.bind("mousedown touchstart", function (e) { 
    if (e.which !== 1) return; 
    return i.dragging = !0, i.dragger.addClass("dragging"), i.domDrag(e.pageX, e.pageY), !1 
}), e("body").bind("mousemove touchmove", function (t) { 
    if (i.dragging) return i.domDrag(t.pageX, t.pageY), e("body").css({ 
     cursor: "pointer" 
    }) 
}).bind("mouseup touchend", function (t) { 
    if (i.dragging) return i.dragging = !1, i.dragger.removeClass("dragging"), e("body").css({ 
     cursor: "auto" 
    }) 
}), this.pagePos = 0, this.input.val() === "" ? (this.value = this.getRange().min, this.input.val(this.value)) : this.value = this.nearestValidValue(this.input.val()), this.setSliderPositionFromValue(this.value), r = this.valueToRatio(this.value), this.input.trigger("slider:ready", { 
    value: this.value, 
    ratio: r, 
    position: r * this.slider.outerWidth(), 
    el: this.slider 
} 

Вот ссылка на информацию плагина: http://loopj.com/jquery-simple-slider/

ответ