更改了.data()键的命名约定

时间:2013-10-09 02:36:11

标签: jquery jquery-ui widget jquery-migrate

以前,对于自定义小部件,我使用了这样的代码:

var bar = $( "<div />")
    .appendTo( "body" )
    .progressbar()
    .data( "progressbar" );

但是使用jQuery UI 1.10,此代码不再起作用...数据(“progressbar”)不会返回任何内容。

我使用来自http://learn.jquery.com/plugins/stateful-plugins-with-widget-factory/的小部件示例对其进行了测试,其中小部件的名称为命名空间“nmk.progressbar”

在jQuery 1.9到1.10的升级指南中,我发现了这个:http://jqueryui.com/upgrade-guide/1.9/#changed-naming-convention-for-data-keys但仍然不知道我应该改变什么才能让它恢复正常...

1 个答案:

答案 0 :(得分:1)

您需要在前一个密钥中添加前缀ui-,例如ui-progressbar

来自Doc

  

窗口小部件实例现在使用全名,包括命名空间,例如:   用户而不是对话框

使用

var bar = $( "<div />")
    .appendTo( "body" )
    .progressbar()
    .data( "ui-progressbar" );

演示:Fiddle