Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   чтобы не отвязывалось событие (https://javascript.ru/forum/jquery/21250-chtoby-ne-otvyazyvalos-sobytie.html)

kpoxo6op 02.09.2011 16:19

чтобы не отвязывалось событие
 
у меня есть участок в начале js-файла:

$('ul').nestedSortable({
	disableNesting: 'no-nest',
	forcePlaceholderSize: true,
	forceHelperSize: true,
	handle: 'div',
	helper:	'clone',
	items: 'li',
	maxLevels: 0,
	opacity: .6,
	placeholder: 'placeholder',
	revert: 250,
	tabSize: 25,
	tolerance: 'pointer',
	toleranceElement: '> div'
});


, что привязывает плагин nestedSortable к неупорядоченным спискам.

Затем я загружаю другое дерево на место старого:
$('#tree').empty().load('operations/get_tree.php');


после чего привязка плагина пропадает. Как сделать, чтобы не пропадала?

walik 02.09.2011 16:24

еще раз его привязать:
$('#tree').empty().load('operations/get_tree.php');
$('ul').nestedSortable({
// ...
});

kpoxo6op 02.09.2011 17:01

Цитата:

Сообщение от walik (Сообщение 124350)
еще раз его привязать:
$('#tree').empty().load('operations/get_tree.php');
$('ul').nestedSortable({
// ...
});

я это сразу попробовал, не работает:(

walik 02.09.2011 17:13

А ну да забыл, надо в callback привязывать:
$('#tree').empty().load('operations/get_tree.php', function() {
    $('ul').nestedSortable({
    // ...
    });
});

kpoxo6op 02.09.2011 17:25

Большое спасибо. А вот я сам дошёл. Это быдлокод или нет?:

var initNestedSortable = (function() {
		
		$('ul').nestedSortable({
			disableNesting: 'no-nest',
			forcePlaceholderSize: true,
			forceHelperSize: true,
			handle: 'div',
			helper:	'clone',
			items: 'li',
			maxLevels: 0,
			opacity: .6,
			placeholder: 'placeholder',
			revert: 250,
			tabSize: 25,
			tolerance: 'pointer',
			toleranceElement: '> div'
		});
			
	});



$('#tree').empty().load('operations/get_tree.php', function() {
	initNestedSortable();
});

walik 02.09.2011 19:09

Тогда уж так:
$('#tree').empty().load('operations/get_tree.php', initNestedSortable);

kpoxo6op 03.09.2011 10:02

какая красота


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