Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jquery-ui, knockout, динамически добавляемые элементы (https://javascript.ru/forum/jquery/49737-jquery-ui-knockout-dinamicheski-dobavlyaemye-ehlementy.html)

tarwirdur 26.08.2014 18:26

jquery-ui, knockout, динамически добавляемые элементы
 
Добрый день.

В дизайне для стилизации используются виджеты из jquery-ui. (button, datepicker, ...)

Для динамического отображения данных используется knockoutjs.

Нужно, чтобы добавляемые элементы сразу были стилизованны с помощью jquery-ui.

Правильно ли я понимаю, что нельзя через $.on() повесить обработчик на создание нового элемента так, чтобы это работало во всех браузерах?

Как лучше решить эту задачу?

Сейчас используется некрасивое решение:

в функции-обработчике новых данных:
setTimeout(jqueryUIRefresh, 100); // wait for render

tsigel 26.08.2014 19:59

Не надо вешать обработчик на создание нового элемента. Вызывайте метод при создании элемента.

tarwirdur 26.08.2014 20:06

>Вызывайте метод при создании элемента.

Элемент создаётся где-то в коде ko при изменении модели.

В том же ли потоке элементы добавляются в DOM, что и функция, которая изменяет модель?

tsigel 26.08.2014 20:11

Цитата:

В том же ли потоке элементы добавляются в DOM, что и функция, которая изменяет модель?
Не факт. Не ужели нет апи на что-то типа onsuccess?

tarwirdur 26.08.2014 20:47

Оказалось, что есть: http://knockoutjs.com/documentation/...h-binding.html (afterAdd, afterRender)


Часовой пояс GMT +3, время: 06:20.