Изменено соглашение об именах для ключей .data ()

0

Раньше для пользовательских виджетов я использовал следующий код:

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, но до сих пор не знаю, что я должен изменить в порядке получить его обратно...

  • 0
    Попробуйте пользовательский ui-progressbar
  • 0
    Я уже пробовал это, и это не помогло
Теги:
widget
jquery-migrate

1 ответ

1
Лучший ответ

Вам нужно добавить префикс ui- к предыдущему ключу, как ui-progressbar.

От Doc

В экземплярах виджетов теперь используется полное имя, включая пространство имен, например, диалоговое окно ui- вместо диалога

использование

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

Демо: скрипка

  • 0
    Я уже пробовал этот, и он не работает ... если я пытаюсь использовать .data ("ui-progressbar"), он все равно ничего не возвращает для меня
  • 0
    @ AlexWheat посмотрите на прилагаемую скрипку ... она работает ... если она не работает на вашем сайте, есть другая проблема ...
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню