3 つのハンドルを持つ JQuery UI スライダーがあります。クリックを無効にする必要があります(スライダーをクリックするためのイベントを書き換えます)が、ハンドルのマウスドラッグでスライドできるようにします。
私はこのようなことを試みていますが、うまくいきません(スライドもブロックされています):
$('#controls #timeline').unbind('mousedown');
ここに 3 つのハンドルを持つ jsfiddle があります。左右クリックせずに真ん中のハンドルだけ動かせばいい
更新:範囲を含む完全な例をフィドルします。
元のスライダーのソース コードで、彼がハンドルを選択する方法を見つけました。
_mouseCapture: function( event ) {
...........
this.handles.each(function( i ) {
var thisDistance = Math.abs( normValue - that.values(i) );
if (( distance > thisDistance ) ||
( distance === thisDistance &&
(i === that._lastChangedValue || that.values(i) === o.min ))) {
distance = thisDistance;
closestHandle = $( this );
index = i;
}
});
...........
}
任意のアイデア、どのようにインデックス 0 を選択できますか?