Проблема с элементами, добавленными с помощью append()
Есть строка, которая отвечает за добавление блока на страничку:
$('#category').append('<div class="addSubcategory"><div></div></div>');
И есть код, который отвечает за работу с этим блоком:
$('.addSubcategory').hover(
function(){
$(this).find('div').stop().animate({opacity: '1'}, 200);
},
function(){
$(this).find('div').stop().animate({opacity: '0'}, 200);
}
);
Ну так вот, когда я добавляю блок с помощью jQuery - не реагирует блок на наведение, а когда блок уже вставлен непосредственно в коде, то всё работает отлично. Что нужно сделать, чтобы элементы, добавленные через append() работали так же хорошо, как и через код? Или есть другие функции? |
Цитата:
Либо использовать http://jquery-docs.ru/Events/live |
Обьедени добавлеие элемента на страницу и создание обработчика в один метод.
function addSubCategory(){
// добавляем элемент на страницу
$('#category').append('<div class="addSubcategory"><div></div></div>');
// вешаем на вновь добавленный элемент обработчик
$('.addSubcategory').hover(
function(){
$(this).find('div').stop().animate({opacity: '1'}, 200);
},
function(){
$(this).find('div').stop().animate({opacity: '0'}, 200);
}
);
// теперь когда тебе понадобится суб категория ты просто вызовешь метод addSubCategory
// пример
addSubCategory();
|
| Часовой пояс GMT +3, время: 13:53. |