2011-09-25 44 views

回答

0

嗯,這是相當簡單的得到一個滑塊的當前值:

$('.ui-slider-handle').live('mouseup', function() { 
    var value = $(this).closest('.ui-slider').slider('value'); 
}); 

你必須雖然這個實驗,是因爲我發現,通常這是不是最-向上(通常是一次點擊少於實際的最終值)。

你真的想要做的是使用滑塊小部件內置的slidestop事件,但當然由於某種原因它現在不支持touchend。 (除了在觸摸設備上的幾個其他問題。)

+0

嗯,這是行不通的。我在控制檯中看到以下錯誤:未捕獲的異常:在初始化之前無法在滑塊上調用方法;試圖調用方法'價值'。 –

+0

就這樣,我們在同一頁面上 - 在初始化過程中的某個時刻,您正在調用$('#mydiv')。slider(),對不對?你沒有將類「ui-slider-handle」的div插入到你的實際HTML中? –

+0

我之前沒有調用'slider()',但是我添加了''('#slider1')。slider();'剛纔 - 沒有幫助。而且,我沒有帶'ui-slider-handle'類的div。 –

1

你可以只使用事件stop
http://jqueryui.com/demos/slider/#event-stop

+0

如何使用它? '$(「.ui-slider-handle」).bind(「slidestop」,function(event,ui){'不能捕捉到。 –

+0

你綁定到滑塊,而不是手柄。這個事件,而不是使用活的mouseup和touchend – Mottie

+0

'$('#slider1')。bind('slidestop',function(event,ui){'不起作用。 –