Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.07.2014, 21:37
Новичок на форуме
Отправить личное сообщение для Vitaliano Посмотреть профиль Найти все сообщения от Vitaliano
 
Регистрация: 11.06.2008
Сообщений: 4

Не крепится draggable после аякс-подгрузки
Доброе время суток всем. Столкнулся с такой проблемой. При обычной загрузке на элемент без проблем вешается draggable, но после аякс-подгрузки, когда появляются новые элементы, draggable не крепится. Вызов функции идет в блоке success. В чем может быть проблема? Может иннициализация какая-то требуется?

function add_to_album(file_id,album_id){
	
	var	ajax_url = '/templates/imghost/images/ajax-loaders/small.gif';
	var old_tree = $('#container_file_tree').html();
	var current_paginate_url = $('#current_paginate_url').val();
	
	$.ajax({
		type: "POST",
   	 	url: '/albums/file/add',
		dataType: 'json',
		data: 'is_ajax=1&file_id='+file_id+'&album_id='+album_id,
    	cache: false,
		beforeSend:function(){
			$('#container_file_tree').html('<div><img src="'+ajax_url+'"></div>');
		},
		error: function(){
			$('#container_file_tree').html(old_tree);
			alert('Ошибка загрузки!');

		},
    	success: function(data){
			if(data.answer == 1){
				if(data.content != ''){
					$('#container_file_tree').html(data.content);
					$("#albums_tree").treeview({
					persist: "location",
					collapsed: true
					});
					$(".hitarea").bind("click", function(e){
        				var buffer = $(this).next().attr('id');
						var arr = buffer.split('_');
						show_branch(this,arr[1]);
    				});
				}
				$('#albums_tree #folder_'+album_id).parent().removeClass('expandable');
					$('#albums_tree #folder_'+album_id).prev().removeClass('expandable-hitarea');
					$('#albums_tree #folder_'+album_id).prev().addClass('collapsable-hitarea');
					$('#albums_tree #folder_'+album_id).parent().addClass('collapsable');
					$('#albums_tree #folder_'+album_id).parent().find('.children').show();
					var object = $('#albums_tree #folder_'+album_id);
					show_branch(object,album_id);
				$('#num_folders').text(data.num_folders);
					paginate_link_list_files(current_paginate_url);
					set_draggable();
					
			}
			else{
				$('#container_file_tree').html(old_tree);
			}			
		}
	});	
	
	
}

function set_draggable(){
		
	
	 $('.draggable').draggable({
        containment: "#container_file_tree",
		distance: 20,
		helper: 'clone',
		revert: true,
		start: function() {
			var id = $(this).attr('data-id');
			$('#current_drag').val(id);
        },
		stop: function() {	
			$(this).find('.link_file').removeAttr('rel');

        }
    });
	
	$('#albums_tree li').droppable({
        drop: function() {
			var buffer_name = $(this).find('.folder').attr('id');
			var buffer = buffer_name.split('_');
			var album_id = buffer[1];
			var file_id = $('#current_drag').val();
			add_to_album(file_id,album_id);
        }
    });
	
}

Последний раз редактировалось Vitaliano, 02.07.2014 в 21:44.
Ответить с цитированием
  #2 (permalink)  
Старый 02.07.2014, 22:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Vitaliano,
а что консоль показывает - ошибки есть?
Ответить с цитированием
  #3 (permalink)  
Старый 03.07.2014, 06:51
Новичок на форуме
Отправить личное сообщение для Vitaliano Посмотреть профиль Найти все сообщения от Vitaliano
 
Регистрация: 11.06.2008
Сообщений: 4

Сообщение от рони Посмотреть сообщение
Vitaliano,
а что консоль показывает - ошибки есть?
В консоли ошибок нет. Я разобрался уже. Оказывается функцию set_draggable нужно было вызывать внутри функции paginate_link_list_files. Эта функция загружает контент, на который потом нужно будет вешать draggable.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Инициализация объекта после подгрузки ajax Ваяс AJAX и COMET 3 24.11.2013 13:46
Доступ к элементам после подгрузки через ajax spo jQuery 3 07.03.2013 15:40
Обработка изображения до его отображения на странице после аякс запроса балерун Общие вопросы Javascript 1 30.05.2012 17:20
Не работает JS после подгрузки div через ajax BoB AJAX и COMET 3 09.12.2011 03:03