jQuery / AJAX - вложенные функции. Клон и куфон

Я использую Cufon, это очень простой скрипт, меняющий шрифты на холст.

Этот код изменяет заголовки H1:

 Cufon.replace('h1', { fontFamily: 'SuperMegaArial2010' }); 

Все работает нормально, но я клонирую набор элементов (несколько списков с заголовками в них):

jQuery('ul.myList').clone();

И замена шрифта cufon не работает для клонированных элементов.

Как это изменить? Почему это происходит?

[редактировать]

Хорошо, это будет сложно. Я клонирую свой список, чтобы он работал как второй список для Quicksand. И это работает, а вот Cufon - нет.

jQuery('document').ready(function(){    
    //create a clone of the full list of elements and extract 'li' elements
    //in order to use it as the 'second' list for quicksand
        var cache_list = jQuery('ul.myList').clone();
        //Add on click event handler to the 'Show Everything' button

        jQuery('ul.myList li a[data-value=Everything]').click(function(e) {
            //Call quicksand on the original works_list list(the one visible to the user)
            //pass to it all the 'li' elements from the cached clone 
                //since we want to display them all
                jQuery('.myList').quicksand( cache_list.find('li'), {
                        duration: 500,
                        });

        jQuery('ul.myList li a[data-value=funny]').click(function(e) {
               jQuery('.myList').quicksand( cache_list.find('li[data-value=funny]'), {
                  duration: 500,
                });
                e.preventDefault();
        });    
});

Этот код выполняется через долгое время после Cufon, я попытался еще раз добавить код cufon replace js в тот же файл перед приведенным выше кодом, но не помогло.


person anonymous    schedule 28.02.2011    source источник
comment
Пример javascript не имеет смысла. Что вы делаете с клонированными элементами? У вас должно получиться что-то вроде: jQuery('ul.myList).clone().appendTo('myDiv');. Пожалуйста, покажите нам точный код.   -  person Neil    schedule 28.02.2011
comment
Между прочим, H1 является элементом уровня BLOCK и как таковой не должен встречаться в неупорядоченном списке. Может это как-то связано с проблемой. Элементы блочного структурирования включают абзацы, списки, а кавычки блока не должны содержать элементов заголовка (h1 ... h6), но они могут содержать разметку фраз, а в некоторых случаях они могут быть вложенными.   -  person Neil    schedule 28.02.2011
comment
@Neil Я считаю, что ты ошибаешься, я могу поместить почти что угодно между тегами li? И я уверен, что в этом нет ничего плохого, мой сайт проверен валидатором w3c и проблем нет. Я расскажу больше о моем случае в первом посте в течение нескольких минут.   -  person anonymous    schedule 28.02.2011
comment
Информация, которую я привел выше о тегах H1, которые строго не разрешены в списках, взята с веб-страницы: http://www.w3.org/MarkUp/html-spec/html-spec_5.html, поэтому я ожидал, что это будет   -  person Neil    schedule 01.03.2011


Ответы (1)


Я предполагаю, что вы клонировали предметы после звонка в куфон. Это потому, что когда вызывается cufon, ваших предметов не существует. Вы можете просто снова вызвать cufon, чтобы он сотворил волшебство.

person JohnP    schedule 28.02.2011
comment
Не могли бы вы опубликовать код? Я не мог подумать, что это может быть селектор или последовательность. Если это не известная проблема. - person JohnP; 28.02.2011
comment
Вы говорите This code is being executed long time after Cufon. Cufon необходимо вызвать после выполнения всего этого кода. Поместите его после этого блока кода и посмотрите. - person JohnP; 01.03.2011