/* Устанавливаем */
$('.spoiler_links').on('click.spoiler1', function(){ ... });
/* Меняем on click.spoiler1 на on click.spoiler2 */ ;
$('.spoiler_links').off('click.spoiler1').on('click.spoiler2',function(){ ... });
/* Убираем все*/
$('.spoiler_links').off('click');
Поробуй переделать код
function SpoilerDef(){
$(this).nextAll('.clsbody').toggle(0);
$(this).nextAll('.spoiler_body').toggle(0);
return false;
}
function SpoilerUniq(){
...
};
$('.spoiler_links').on('click.spoiler',SpoilerDef);
$(document).ready(function(){
$("#te").toggle(
function () {
$("#te").text('Заголовки');
$('.clsbody').hide(0);
$('.spoiler_body').show(0);
$('.spoiler_links').off('click.spoiler').on('click.spoiler',SpoilerUniq);
},
function () {
$('.spoiler_body').hide(0);
$('.clsbody').show(0);
$("#te").text('Свернуть');
$('.spoiler_links').off('click.spoiler').on('click.spoiler',SpoilerDef);
});
});
Но по идее должно быть по другому, значительно проще:
$(document).ready(function(){
function SpoilerLink(e){
...
e.stopPropagation();
e.preventDefault();
};
$("#te").toggle( // Возможно здесь нужно добавить к селектору ',.spoiler_links'
function () {
$("#te").text('Заголовки');
$('.clsbody').hide(0);
$('.spoiler_body').show(0);
$('.spoiler_links').on('click.spoiler',SpoilerLink);
},
function () {
$('.spoiler_body').hide(0);
$('.clsbody').show(0);
$("#te").text('Свернуть');
$('.spoiler_links').off('click.spoiler');
});
});
Селектор добавь если .spoiler_links лежат вне спойлера и при первом клике по ним должен вызывается спойлер.