Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jquery и live (https://javascript.ru/forum/jquery/10083-jquery-i-live.html)

herba 18.06.2010 16:04

jquery и live
 
Нечто похожее я уже спрашивал но дело обросло новыми подробностями. Есть контент и к нему пагинатор. при клике пагинатора аяксом меняется контент. Проблема в том что возвращаемый html-код пагинатора возвращаемый движком фреймвока меня не устраивает и надо при загрузке страници добавлять элементы:
Код:

$(document).ready(function(){
$('.pager li off').each(function(i){
var nv = $(this).attr('class').split(' ');
$(this).replaceWith('<div class=\"'+ nv[0] + ' ' + nv[1] +'\">'
+ '<div class=\"rlpage\"></div>'
+ '<div class=\"innerblockpage\">'
+ $(this).html()
+ '</div>'
+ '<div class=\"rlpage\"></div>'
+ '<\/div>');
});
});

при первоначальной загрузке страници все прокатывает, но после клика на пагинаторе меняется и контент и пагинатор но jquery cкрипт уже не работает. попробовал с live - но к нему уже нужно событие:
Код:

$('.pager li').live('типа клик', function(i){
$('.pager li').each(function(i){
var nv = $(this).attr('class').split(' ');
$(this).replaceWith('<div class=\"'+ nv[0] + ' ' + nv[1] +'\">'
+ '<div class=\"rlpage\"></div>'
+ '<div class=\"innerblockpage\">'
+ $(this).html()
+ '</div>'
+ '<div class=\"rlpage\"></div>'
+ '<\/div>');
});
});

с live нет change, к тому же на <a></a> пагинатора видимо уже предполагается что стоит событие. в общем не работает.

Поможет кто?

Gvozd 18.06.2010 22:01

herba,
незачем создавать по несколько тем

subzey 19.06.2010 14:00

onchange не бабблится, поэтому live() на это событие работать не будет.

Если Вы понимаете принцип работы live(), Вы можете использовать вместо него фазу капчуринга для нормальных браузеров и ondeactivate с ручной проверкой для IE.


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