Как сделать кастомную жизнь jquery в 1.4.1? - PullRequest
0 голосов
/ 12 мая 2010

Я как бы использовал плагин jquery livequery и jquery live вместе. Однако теперь, когда я использую 1.4, кажется, что jquery livequery не работает на 100%.

Так что я не уверен, как решить эту проблему

У меня есть это в livequery

$('#Description').livequery(function ()
{
    $('#Description').htmlarea({
        toolbar: [
            ["bold", "italic", "underline", "strikethrough", "|", "subscript", "superscript"],
            ["increasefontsize", "decreasefontsize"],
            ["orderedlist", "unorderedlist"],
            ["indent", "outdent"],
            ["link", "unlink"]
        ]
    });
});

Так что каждый раз, когда я загружал свою страницу. На самом деле он будет запускать этот код в livequery и отображать, и если я перейду на другую вкладку ajax и вернусь, то снова войду в это.

Теперь я не уверен, как изменить его на .live () jquery 1.4, так как я только что попытался сделать это

$('#Description').live(function ()
{
    $('#Description').htmlarea({
        toolbar: [
            ["bold", "italic", "underline", "strikethrough", "|", "subscript", "superscript"],
            ["increasefontsize", "decreasefontsize"],
            ["orderedlist", "unorderedlist"],
            ["indent", "outdent"],
            ["link", "unlink"]
        ]
    });
});

и, похоже, не работает. плагин не привязан и редактор html не отображается.

1 Ответ

2 голосов
/ 12 мая 2010

Вы все равно должны использовать .livequery() в этом случае ... они работают по-разному, и .live() не подходит для запуска плагинов, так как элементы создаются динамически.

.livequery() - Поиск новых элементов, выполнение при их обнаружении.
.live() - прослушивает события для всплытия DOM и выполнения на них, он предназначен для обработки событий от новых или старых элементов и не заботится о том, когда они были добавлены, но это не так все это полезно для выполнения плагинов для вновь созданных элементов.

Какие у вас проблемы с .livequery() в 1.4.1? (Кстати, 1.4.2 вышло! )

...