Доброе время суток всем. Столкнулся с такой проблемой. При обычной загрузке на элемент без проблем вешается 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);
}
});
}