如何获得jQuery UI的“占位符”配置可排序?

时间:2012-02-23 06:02:40

标签: jquery jquery-ui jquery-ui-sortable

记录的方式似乎是:

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

但这会向我返回一个对象,而不是我在配置选项中使用的字符串。

我可以通过这种方式获得其他配置选项的值。例如:

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

上面的代码向我返回了我在可排序配置选项中告知的确切值。

这对我来说似乎是个错误。无论如何,如果我无法使用“正常”方式获取placeholder值,是否还有其他方法可以检索此信息?

编辑:刚刚添加了一个jsFiddle来演示问题 - http://jsfiddle.net/hyBfm/

1 个答案:

答案 0 :(得分:0)

确实,这是一个JQuery UI错误。

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

placeholder函数中,_createPlaceholder选项被内部对象无差别覆盖。

因此,当您在创建占位符元素时调用$('#sortable').sortable('option', 'placeholder') 之前时,它会返回您在配置选项中通知的值(正确的行为)。但是,当您在>拖动某些东西(以及因此创建占位符元素)之后进行相同的调用时,它将返回占位符对象,而不是配置选项字符串(意外的,不正确的行为)。

我试图在http://bugs.jqueryui.com/ticket/8133填写错误 - 但我更改了描述,因为Akismet将其标记为垃圾邮件......描述变得难以阅读。我希望他们能够承认并修复。