2012-02-23 53 views
0

的記錄方式似乎是:如何獲得可排序的jQuery UI的「佔位符」配置?

$('#sortable').sortable('option', 'placeholder'); 

但這返回一個對象給我,而不是我在配置選項使用的字符串。

我可以通過這種方式獲得其他配置選項的值。例如:

$('#sortable').sortable('option', 'opacity'); 

上面的代碼向我返回了我在可排序配置選項中通知的確切值。

這對我來說似乎是一個錯誤。無論如何,如果我無法使用「正常」方式獲得價值,是否有任何其他方式來檢索這些信息?

編輯:只是增加了一個的jsfiddle證明這個問題 - http://jsfiddle.net/hyBfm/

+0

[It works for me](http://jsfiddle.net/gHHsN/1/)。有任何示例代碼,所以我們可以嘗試看看發生了什麼? – 2012-02-23 06:08:09

+0

@ChristianVarga:是的,看到它在這裏 - http://jsfiddle.net/hyBfm/ - 它似乎只發生在事件處理程序內部的問題...看看。 – 2012-02-23 06:28:10

+0

@ChristianVarga:我把你的分叉... http://jsfiddle.net/46Uvj/ :) – 2012-02-23 06:31:40

回答

0

事實上,這是一個jQuery UI的bug。

這裏是確切的地方: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.sortable.js#L657

placeholder選項是mercyless由內部對象覆蓋,在_createPlaceholder funcion。

因此,當您在創建佔位符元素時調用$('#sortable').sortable('option', 'placeholder')之前的時,它將返回您在配置選項(正確行爲)處通知的值。但是,當您在之後撥動(並因此創建了佔位符元素)時,它會返回佔位符對象,而不是配置選項字符串(意外的,不正確的行爲)。

我試圖填補一個錯誤http://bugs.jqueryui.com/ticket/8133 - 但我改變了很多描述,因爲Akismet把它標記爲垃圾郵件......描述變得難以閱讀。我希望他們能夠承認並修正。