ogarich89
@ogarich89
Front-End Developer

Как применить jQueryUI plugin к представлению?

Пытаюсь подключить плагин после события show MarionetteJS, но onShow срабатывает раньше чем представление отрисовывается в DOM.
onShow: function () {
			$('.drag-el-container .col-div').draggable({
				containment: ".t-container",
				revert: true,
				revertDuration: 0,
				start: function () {
					$( this ).css({
						width: 180,
						height: 685,
						position: 'relative',
						background: '#f1f1f1'
					});
				},
				stop: function () {
					$( this ).css({
						width: 364,
						height: 60,
						position: 'relative',
						background: 'transparent'
					});
				}
			});
			$( ".cols-div" ).droppable({
				accept: ".col-div",
				tolerance: "pointer",
				over: function( event, ui ) {
					$( this ).addClass('hover');
				},
				out: function( event, ui ) {
					$( this ).removeClass('hover');
				},
				drop:function( event, ui ) {
					$( this ).append(ui.draggable);
					$( this ).removeClass('hover');
				}
			});
		}

Подскажите как применить плагин уже после вставки View в DOM дерево
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
aen
@aen
Keep calm and 'use strict';
Попробуйте использовать не $, а this.$ при поиске по селектору. Во втором случае поиск будет вестись внутри this.$el представления, которое к моменту вызова коллбека onShow еще не вставлено в DOM, а потом ваши селекторы $( ".cols-div" ), $('.drag-el-container .col-div') не срабатывают.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы