[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: jQuery слушатели
Quieteroks
Здравствуйте.

Когда при загрузки страницы, делаю слушателей событий на какие нить классы, то после подгрузки через ajax нового содержимого, они перестают работать. Пробовал их загнать в функцию и вызывать ее, но не получилось... Только прямым вызовом вызовом вновь вешаются события.

Т.е. При загрузки страницы пишу вот такую штуку, а после загрузки нового контенат она уже не работает. Только если заново ее запустить, причем напрямую.
$('a.moreImg1').hover(function(){
$(this).find('img').stop().animate({borderColor:"#F2C797"}, 250);
}, function(){
$(this).find('img').stop().animate({borderColor:"#FFE0B2"}, 250);
});


Подскажите, как можно/нужно слушателей перезапускать?
Michael
Через live вообще то такое делается.

Можно в принципе и заново прикреплять, только предыдущие помечать классом как "уже прикрепленные", чтоб 2 раза не навесились.

_____________
There never was a struggle in the soul of a good man that was not hard
Quieteroks
Michael
Спасибо, часть слушателей решим вопрос.
НО, он hover не поддерживает sad.gif
Игорь_Vasinsky
live() и hover поддержиает, там любой event указать можно

Когда то меня спас и JQuery.Listen()

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Quieteroks
Игорь_Vasinsky
Странная штука, в справке написали, что не поддерживает, а ниже его используют...
Как тогда в одну функцию внпихнуть две, которые нужны для хавера...

Нашел, спасло такое вот безумие для hover:
$('a.moreImg1').live({
mouseenter:
function(){
$(this).find('img').stop().animate({borderColor:"#F2C797"}, 250);
},
mouseleave:
function(){
$(this).find('img').stop().animate({borderColor:"#FFE0B2"}, 250);
}
}
);
Quieteroks
Ну в общем продолжение темы...
А как тогда плагины, типа colorbox, sprites, cycle вешать?

Пока ищу и читаю, но мож кто даст подсказку быстрее...
Игорь_Vasinsky
http://api.jquery.com/delegate/

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Quieteroks
Игорь_Vasinsky
Ну по клику, я уже разобрался частично... И не обязательно делегировать.
Но он для colorbox подходит, а для прочих, которые клика не требуют, уже решения придумать не могу...

Ладно, бум думать. Может скрипты попробую подгружать, после загрузки страницы.
kuzroman
использовать on, live или делегаты. Хотя об этотом уже писали выше.

_____________
kuzroman@list.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.